日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

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

const_cast的用法

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

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,就能夠通過該指針(或援用)對它的數據成員任意改變。

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产精品一区三区 | 中国三级网站 | 欧美天堂| 黄色电影在线免费观看 | 日韩三级网 | 日本黄色片网站 | 国产伦精品一区二区三区免 | 91精品国产乱码久久久久久 | 午夜欧美一区二区三区在线播放 | 欧美日韩国产一区二区三区 | 99久久精品免费看国产一区二区三区 | 成人在线免费网站 | 欧美福利在线 | 九九综合九九综合 | 中文字幕成人av | 国产精品福利在线观看 | 久久久久国产 | 欧美精品黑人猛交高潮 | 欧美综合在线观看 | 亚洲三区在线观看 | 欧美精品系列 | 99久久精品免费 | 国产成人精品免费视频大全最热 | 成年人午夜视频 | 国产精品传媒麻豆hd | 一级毛片在线 | 国产视频一区在线观看 | 91精品国产二区在线看大桥未久 | 国产第一页在线 | 久久久久免费视频 | 久99视频| 一区二区视频网站 | 二区视频在线 | 黄色网址av | 中文字幕偷拍 | 91在线一区二区 | 国产一区二区三区日韩 | 在线视频 日韩 | 又黄又湿的视频 | 欧美视频日韩 | 精品一区二区三区在线播放 |