用法:const_cast<type>(expression)
去除const限定
method:
#include<iostream>
using namespace std;
void ConstTest(){
int i;
cout<<"please input a integer:";
cin>>i;
const int p=i;
int &r=const_cast<int &>(p);
r++;
cout<<r<<p<<endl;
}
int main(){
ConstTest();
return 0;
}
不能说是真正的去除
当存着变量的时候通过上述方法可以实现去除const限定
然而
#include<iostream>
using namespace std;
void ConstTest(){
const int p=2;
int &r=const_cast<int &>(p);
r++;
cout<<r<<p<<endl;
}
int main(){
ConstTest();
return 0;
}
此时会发现结果是3和2
故:const_cast是一种C++运算符,主要是用来去除复合类型中const和volatile属性(没有真正去除)。