作用:----》 Removes the const, volatile
, and __unaligned attribute(s) from a class.
移除变量的const属性 volatile .__unaligned
ref:
// expre_const_cast_Operator.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;
class CCTest {
public:
void setNumber( int );
void printNumber() const;
private:
int number;
};
void CCTest::setNumber( int num ) { number = num; }
void CCTest::printNumber() const {
cout << "\nBefore: " << number;
const_cast< CCTest * >( this )->number--;
cout << "\nAfter: " << number;
}
int main() {
CCTest X;
X.setNumber( 8 );
X.printNumber();
}
这里const_case 转换this指针(const)到成员函数member然后修改。在这个方法中const属性,不受他的约束。