const_cast是一個基於C語言編程開發的運算方法,其主要作用是:修改類型的const或volatile屬性。使用該運算方法可以返回一個指向非常量的指針(或引用)指向b1,就可以通過該指針(或引用)對它的數據成員任意改變。
基本介紹
- 外文名:const_cast
- 作用:修改類型的const或volatile屬性
- 用法:const_cast<type_id>
- 領域:程式設計
用法
案例
class B{public: B() { }public: int m_iNum;};void foo(){ const B b1; //b1.m_iNum = 100; //compile error // 可以做如下轉換,體現出轉換為指針類型 B *b2 = const_cast<B*>(&b1); // 或者左側也可以用引用類型,如果對b2或b3的數據成員做改變,就是對b1的值在做改變 B &b3 = const_cast<B&>(b1); b2->m_iNum = 200; //fine b3.m_iNum = 300; //fine}int main( int argc, char * argv[] ){ foo(); return 0;}
//b1.m_iNum = 100; //compile error