C++中const_cast 举例

#include<iostream>
#include<vector>
#include<iterator>
#include<string>
using namespace std;
class B
{
public:
 int nNum;
 
 B(){}
};
void foo()
{
 const B b;
 /*b.nNum=100;*/ //报错
 B b1=const_cast<B&>(b);
 B *b2=const_cast<B*>(&b);
 B &b3=const_cast<B&>(b);
 b1.nNum=100;//不会改变b的值
 b2->nNum=200;//会改变b的值
 b3.nNum=300;//会改变b的值
 cout<<b.nNum<<endl;
}
void main()

{foo();

 
}

你可能感兴趣的:(C++)