• <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>

            大龍的博客

            常用鏈接

            統計

            最新評論

            static_cast vs const_cast vs reinterpret_cast vs dynamic_cast

            static_cast在功能上基本上與C風格的類型轉換一樣強大,含義也一樣。它也有功能上限制。例如,你不能用static_cast象用C風格的類型轉換一樣把struct轉換成int類型或者把double類型轉換成指針類型,另外,static_cast不能從表達式中去除const屬性,因為另一個新的類型轉換操作符const_cast有這樣的功能。

               const_cast用于類型轉換掉表達式的const或volatileness屬性。通過使用const_cast,你向人們和編譯器強調你通過類型轉換想做的只是改變一些東西的constness或者 volatileness屬性。這個含義被編譯器所約束。如果你試圖使用const_cast來完成修改constness 或者volatileness屬性之外的事情,你的類型轉換將被拒絕。

              dynamic_cast它被用于安全地沿著類的繼承關系向下進行類型轉換。這就是說,你能用dynamic_cast把指向基類的指針或引用轉換成指向其派生類或其兄弟類的指針或引用,而且你能知道轉換是否成功。失敗的轉換將返回空指針(當對指針進行類型轉換時)或者拋出異常(當對引用進行類型轉換時)。

              reinterpret_cast。使用這個操作符的類型轉換,其的轉換結果幾乎都是執行期定義(implementation-defined)。因此,使用reinterpret_casts的代碼很難移植。reinterpret_casts的最普通的用途就是在函數指針類型之間進行轉換。

             

            posted on 2007-05-15 10:43 大龍 閱讀(326) 評論(0)  編輯 收藏 引用

            2020久久精品国产免费| 新狼窝色AV性久久久久久| 国产亚洲综合久久系列| 国产日韩久久免费影院| 亚洲欧美一级久久精品| 久久久久亚洲av无码专区导航 | 一97日本道伊人久久综合影院| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 久久强奷乱码老熟女网站| 国产一级持黄大片99久久| 要久久爱在线免费观看| 精品久久久久久久久午夜福利| 久久久91人妻无码精品蜜桃HD | 香蕉aa三级久久毛片| 99久久精品免费观看国产| 久久婷婷久久一区二区三区| 午夜不卡久久精品无码免费| 久久国产免费观看精品| 中文国产成人精品久久不卡| 久久99久久99精品免视看动漫| 欧美777精品久久久久网| 亚洲欧美伊人久久综合一区二区 | 精品午夜久久福利大片| 99久久国产亚洲综合精品| 久久久久亚洲精品无码网址| 久久99国产精品二区不卡| 亚洲精品无码久久千人斩| 亚洲国产成人精品久久久国产成人一区二区三区综 | 精品久久久噜噜噜久久久| 精品久久久无码21p发布| 亚洲另类欧美综合久久图片区| 精品综合久久久久久88小说| 久久精品国产清自在天天线| 99久久久精品免费观看国产| 久久精品国产第一区二区三区| 亚洲精品高清国产一线久久| 国产精品久久久久久五月尺| 噜噜噜色噜噜噜久久| 国产精品免费福利久久| 久久精品亚洲精品国产色婷| 97久久久精品综合88久久|