多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > const_cast的用法

const_cast的用法

來源:程序員人生   發布時間:2015-06-27 08:05:38 閱讀次數:4335次

C++提供了4個轉換運算符:

?         const_cast <new_type> (expression)

?         static_cast <new_type> (expression)

?         reinterpret_cast <new_type> (expression)

?         dynamic_cast <new_type> (expression)

它們有著相同的結構,看起來像是模板方法。這些方法就是提供給開發者用來進行指針和援用的轉換的。

1、用法

const_cast<type_id> (expression)

該運算符用來修改類型的const或volatile屬性。除const 或volatile修飾以外, type_id和expression的類型是1樣的。

1 常量指針被轉化成非常量的指針,并且依然指向原來的對象;

2 常量援用被轉換成非常量的援用,并且依然指向原來的對象;

 

2、案例

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之不可修改。

使用const_cast可以返回1個指向非常量的指針(或援用)指向b1,就能夠通過該指針(或援用)對它的數據成員任意改變。

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 欧美久久亚洲精品 | 亚洲欧美综合国产精品一区 | 国产美女亚洲精品久久久毛片 | 伊人五月| 在线观看中文 | 国产午夜精品理论片久久影视 | 爱爱三级 | 国产日韩精品欧美一区 | 三级国产短视频在线观看 | h肉在线| 亚州视频一区二区 | 校园激情亚洲 | 黄色综合 | 忘忧草wyc.apk | 女人大毛片一级毛片一 | 国产成人综合手机在线播放 | 成人一区专区在线观看 | 午夜美女影院 | 色综合亚洲精品激情狠狠 | 国产美女网站视频 | 精品欧美成人高清在线观看2021 | 好吊色永久免费视频大全 | 欧美 日韩 国产 成人 在线观看 | 日韩18在线观看 | 无人区一区二区三区乱码 | 亚洲一区二区三区高清不卡 | 国产caob| 国产欧美精品一区二区 | 亚洲欧洲春色校园另类小说 | 一级特黄aa毛片免费观看 | 亚洲精品无码专区在线播放 | 欧美一级看片 | 又色又污 | 欧美色图校园春色 | 亚洲精品一级片 | 中文字幕激情 | 亚洲小说春色综合另类网蜜桃 | 日本欧美强乱视频在线 | 国产在线观看精品一区二区三区91 | 欧美激情综合亚洲五月蜜桃 | 国产不卡在线视频 |