最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

static_cast,dynamic_cast,reinterpret_cast,const_cast的區(qū)別及用法詳解

 更新時(shí)間:2013年09月23日 09:19:58   作者:  
以下是對(duì)static_cast,dynamic_cast,reinterpret_cast,const_cast的區(qū)別及用法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下

1.static_cast對(duì)類的指針只能轉(zhuǎn)換有繼承關(guān)系的類。對(duì)普通的指針來說只能在void*和其他指針之間轉(zhuǎn)換。它還可轉(zhuǎn)換簡(jiǎn)單的類型,比如int到char等。不能提供數(shù)字到指針的轉(zhuǎn)換。不能提供不同類型指針之間的轉(zhuǎn)換比如int*到char*。

2.dynamic_cast提供安全的轉(zhuǎn)換如果兩個(gè)指針不存在繼承關(guān)系轉(zhuǎn)換會(huì)失敗返回空指針,如果你提供一個(gè)錯(cuò)誤的指針那樣會(huì)發(fā)生內(nèi)存訪問異常,因?yàn)樗鼤?huì)去比較兩個(gè)類型的虛函數(shù)表。虛函數(shù)表的指針一般放在對(duì)象指針最開始的四字節(jié)中,你去訪問一個(gè)錯(cuò)誤的地址這樣肯定會(huì)發(fā)生異常。

3.reinterpret_cast提供數(shù)字到指針間的轉(zhuǎn)換比如void*到int。提供不同類型指針的強(qiáng)制轉(zhuǎn)換比如int*到char*。不提供int到char的轉(zhuǎn)換。但是處理類指針轉(zhuǎn)換的時(shí)候不能用它,它不會(huì)自動(dòng)的調(diào)整指針。

4.const_cast把一個(gè)const指針轉(zhuǎn)為非const,最好不要用這個(gè)轉(zhuǎn)換。

相關(guān)文章

  • C++ BloomFilter布隆過濾器應(yīng)用及概念詳解

    C++ BloomFilter布隆過濾器應(yīng)用及概念詳解

    布隆過濾器是由布隆(Burton Howard Bloom)在1970年提出的 一種緊湊型的、比較巧妙的概率型數(shù)據(jù)結(jié)構(gòu),特點(diǎn)是高效地插入和查詢,可以用來告訴你 “某樣?xùn)|西一定不存在或者可能存在”,它是用多個(gè)哈希函數(shù),將一個(gè)數(shù)據(jù)映射到位圖結(jié)構(gòu)中
    2023-03-03
  • c++ 完備的運(yùn)行時(shí)類型信息(動(dòng)態(tài)類型信息)

    c++ 完備的運(yùn)行時(shí)類型信息(動(dòng)態(tài)類型信息)

    這篇文章主要介紹了c++ 完備的運(yùn)行時(shí)類型信息,需要的朋友可以參考下
    2017-07-07
  • 字符串的模式匹配詳解--BF算法與KMP算法

    字符串的模式匹配詳解--BF算法與KMP算法

    這篇文章記錄一下串里面的模式匹配,模式匹配,顧名思義就是給定一個(gè)被匹配的字符串,然后用一個(gè)字符串模式(模型)去匹配上面說的字符串,看后者是否在前者里面出現(xiàn)。常用的有2種算法可以實(shí)現(xiàn),下面我們來具體探討下
    2014-08-08
  • C++中圖片類型的識(shí)別與轉(zhuǎn)換詳解方法

    C++中圖片類型的識(shí)別與轉(zhuǎn)換詳解方法

    本文簡(jiǎn)單的介紹一下C++語言中如何識(shí)別圖片文件的類型,以及各圖片類型之間的轉(zhuǎn)換方法,并提供相關(guān)的源碼供大家參考,感興趣的朋友快來看看吧
    2021-11-11
  • c++的virtual和override作用及說明

    c++的virtual和override作用及說明

    這篇文章主要介紹了c++的virtual和override作用及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • c++查詢最短路徑示例

    c++查詢最短路徑示例

    這篇文章主要介紹了c++查詢最短路徑示例,需要的朋友可以參考下
    2014-05-05
  • C++高精度計(jì)時(shí)的幾種方法總結(jié)(測(cè)試函數(shù)運(yùn)行時(shí)間)

    C++高精度計(jì)時(shí)的幾種方法總結(jié)(測(cè)試函數(shù)運(yùn)行時(shí)間)

    本文介紹了C++中常用的幾種程序計(jì)時(shí)方法,包括clock()函數(shù)、GetTickCount()、QueryPerformanceCounter()以及C++11中的chrono庫函數(shù),這篇文章主要介紹了C++高精度計(jì)時(shí)的幾種方法,需要的朋友可以參考下
    2024-09-09
  • C++中的哈希容器unordered_map使用示例

    C++中的哈希容器unordered_map使用示例

    這篇文章主要介紹了C++中的哈希容器unordered_map使用示例,本文直接給出實(shí)例代碼,并講解了一些hash table的知識(shí),需要的朋友可以參考下
    2015-06-06
  • C++超詳細(xì)講解引用和指針

    C++超詳細(xì)講解引用和指針

    引用是C++一個(gè)很重要的特性,顧名思義是某一個(gè)變量或?qū)ο蟮膭e名,對(duì)引用的操作與對(duì)其所綁定的變量或?qū)ο蟮牟僮魍耆葍r(jià),這篇文章主要給大家總結(jié)介紹了C++中引用的相關(guān)知識(shí)點(diǎn),需要的朋友可以參考下
    2022-06-06
  • C語言流程控制之switch語句詳解

    C語言流程控制之switch語句詳解

    這篇文章主要給大家介紹了關(guān)于C語言流程控制之switch語句的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01

最新評(píng)論

聂拉木县| 龙游县| 长宁县| 桂林市| 云霄县| 颍上县| 鄂州市| 岫岩| 封开县| 抚顺市| 团风县| 黎平县| 荃湾区| 孙吴县| 竹溪县| 扶沟县| 哈巴河县| 临邑县| 丹江口市| 罗平县| 江北区| 保靖县| 章丘市| 南陵县| 许昌市| 台州市| 天门市| 双辽市| 海原县| 紫阳县| 于都县| 桐城市| 杭锦后旗| 大厂| 朝阳区| 习水县| 上栗县| 宿松县| 微博| 泾川县| 揭阳市|