• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Mike's blog

              C++博客 :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
              0 Posts :: 23 Stories :: 83 Comments :: 0 Trackbacks

            常用鏈接

            留言簿(17)

            我參與的團(tuán)隊(duì)

            搜索

            •  

            最新評(píng)論

            在C++中,除了支持C語言中的隱式類型轉(zhuǎn)換外,同時(shí)引入了四種顯示的類型轉(zhuǎn)換函數(shù),以確切的標(biāo)識(shí)出正在進(jìn)行的轉(zhuǎn)換類型。
            函數(shù)原型為(均為模板函數(shù)):
            static_cast<new_type>(expression)
            const_cast<new_type>(expression)
            reinterpret_cast<new_type>(expression)
            dynamic_cast<new_type>(expression)

            前三個(gè)是在編譯時(shí)期進(jìn)行類型轉(zhuǎn)換的,而最后一個(gè)則是在運(yùn)行時(shí)期進(jìn)行轉(zhuǎn)換的,即dynamic_cast函數(shù)需要RTTI的支持,如果是VC下,需要手動(dòng)打開RTTI支持選項(xiàng)。

            static_cast主要完成相關(guān)類型之間的轉(zhuǎn)換,比如整型到枚舉、整型到浮點(diǎn)等。但static_cast不能轉(zhuǎn)換掉expression的const、volitale、或者_(dá)_unaligned屬性

            const_cast一般用于強(qiáng)制消除對(duì)象的常量性,它是唯一能做到這一點(diǎn)的 C++ 風(fēng)格的強(qiáng)制轉(zhuǎn)型,但需注意的是只能轉(zhuǎn)換指針或引用類型,而不能轉(zhuǎn)換普通常量類型。
            如:
            const int a = 1;
            int b = const_cast <int>(a);
            是錯(cuò)誤的。

            reinterpret_cast用于字節(jié)數(shù)相同的類型之間的轉(zhuǎn)換,常用的就是整型和指針之間、函數(shù)指針類型之間進(jìn)行轉(zhuǎn)換。操作符僅僅重新解釋了對(duì)象的比特模型而沒有進(jìn)行二進(jìn)制轉(zhuǎn)換,需謹(jǐn)慎使用,一般只在把類型映射回原有類型時(shí)使用。

            dynamic_cast主要用于類層次間的上行轉(zhuǎn)換和下行轉(zhuǎn)換,還可以用于類之間的交叉轉(zhuǎn)換。
            在類層次間進(jìn)行上行轉(zhuǎn)換時(shí),dynamic_cast和static_cast的效果是一樣的;
            在進(jìn)行下行轉(zhuǎn)換時(shí),dynamic_cast具有類型檢查的功能,比static_cast更安全。
            你能用dynamic_cast把指向基類的指針或引用轉(zhuǎn)換成指向其派生類或其兄弟類的指針或引用,而且你能知道轉(zhuǎn)換是否成功。失敗的轉(zhuǎn)換將返回空指針(當(dāng)對(duì)指針進(jìn)行類型轉(zhuǎn)換時(shí))或者拋出異常(當(dāng)對(duì)引用進(jìn)行類型轉(zhuǎn)換時(shí))。

            posted on 2009-01-12 23:22 老狼 閱讀(644) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C/C++
            99久久成人18免费网站| 久久精品国产久精国产| 中文精品久久久久人妻| 久久综合视频网| 亚洲va久久久噜噜噜久久天堂| 久久久久久久综合日本| 久久人人爽人人爽人人av东京热| 精品熟女少妇av免费久久| 久久久久亚洲精品无码蜜桃| 波多野结衣久久精品| 偷窥少妇久久久久久久久| 伊人久久大香线蕉av不变影院| 久久久久久亚洲精品不卡 | 久久精品国产72国产精福利| 无码超乳爆乳中文字幕久久| 99久久国产综合精品女同图片| 国产精品99久久久久久宅男小说| 久久天天躁狠狠躁夜夜2020| 国产成人精品久久| 狼狼综合久久久久综合网| 久久婷婷色综合一区二区| 午夜精品久久久久久久久| 国产精品狼人久久久久影院| 久久国产一区二区| 香蕉久久久久久狠狠色| 国产精品欧美久久久久无广告 | 丰满少妇高潮惨叫久久久| 久久国产欧美日韩精品| 一本一本久久A久久综合精品 | 久久久久亚洲AV无码专区体验 | 久久99国产精品久久99果冻传媒| 久久无码人妻一区二区三区午夜 | 亚洲午夜福利精品久久| 少妇无套内谢久久久久| 国产精品久久久久久福利漫画| 精品一区二区久久| 久久精品国产乱子伦| 久久99精品国产99久久6| 无码国产69精品久久久久网站| 久久se精品一区精品二区| 欧美精品九九99久久在观看|