C++工作笔记-对const_cast的理解
生活随笔
收集整理的這篇文章主要介紹了
C++工作笔记-对const_cast的理解
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
先上代碼:
#include <iostream> using namespace std;class MyClass{ public:MyClass(const int data = 0){m_data = data;}void print()const{cout << "The data is " << m_data << endl;}void setData(const int data){m_data = data;} private:int m_data; };int main(){MyClass *myclass1 = new MyClass(10);cout << "myclass1:";myclass1->print();const MyClass *myclass2 = new MyClass(11);cout << "myclass2:";myclass2->print();MyClass *mycalss3 = const_cast<MyClass*>(myclass2);mycalss3->setData(5000);cout << "mycalss3:";mycalss3->print();cout << "myclass2:";myclass2->print();delete myclass1;delete myclass2;delete mycalss3;getchar();return 0; }運(yùn)行截圖如下:
這里面
const MyClass *myclass2 = new MyClass(11);
這個(gè)是一個(gè)常指針,這個(gè)指針只能讀不可寫,但經(jīng)過const_cast,來弄一下后,
這個(gè)const就立場不堅(jiān)定了,就跑了。所有myclass2就被綠了,就變成一般的對象了,
總結(jié)
以上是生活随笔為你收集整理的C++工作笔记-对const_cast的理解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt工作笔记-第一个QML(QQuick
- 下一篇: Qt工作笔记-QListWidget鼠标