xxx_cast類型轉(zhuǎn)換的實(shí)現(xiàn)方法
xxx_cast是一個(gè)統(tǒng)稱,它指的是static_cast(靜態(tài)轉(zhuǎn)換),const_cast(常量轉(zhuǎn)換),reinterpert_cast(重解釋轉(zhuǎn)換),dynamic_cast(動(dòng)態(tài)轉(zhuǎn)換)。本次我們就了解一下他的用途及其轉(zhuǎn)換方式。
1.static_cast(靜態(tài)轉(zhuǎn)換)
靜態(tài)轉(zhuǎn)換全部用于明確定義達(dá)到轉(zhuǎn)換,包括編譯器允許我們所做的不用強(qiáng)制轉(zhuǎn)換的安全變換和不太安全的但清楚定義的變換。
2.const_cast(常量轉(zhuǎn)換)
如果從const轉(zhuǎn)換為非const或從volatile轉(zhuǎn)換為非volatile,就可以直接使用const_cast,也是唯一允許的轉(zhuǎn)換做法。
3.reinterpert_cast(重解釋轉(zhuǎn)換)
這是最不安全的一種轉(zhuǎn)換機(jī)制,最有可能出現(xiàn)問(wèn)題,reinterpret_cast把對(duì)象假想為模式,是一個(gè)完全不同類型的對(duì)象,在使用reinterpret_cast做任何事之前,實(shí)際上總是需要reinterpret_cast轉(zhuǎn)換回原來(lái)的類型。C++中的reinterpret_cast主要是將數(shù)據(jù)從一種類型準(zhǔn)換位另一種類型。所謂“通常為操作數(shù)的位模式提供較低層的重新解釋”也就是說(shuō)將數(shù)據(jù)以二進(jìn)制存在形式的重新解釋。
4.dynamic_cast(動(dòng)態(tài)轉(zhuǎn)換)
針對(duì)繼承體系中,主要用于類型安全的向下轉(zhuǎn)換。
以上就是小編為大家?guī)?lái)的xxx_cast類型轉(zhuǎn)換的實(shí)現(xiàn)方法全部?jī)?nèi)容了,希望大家多多支持腳本之家~
相關(guān)文章
Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的word文檔編輯器
本文主要介紹了Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的word文檔編輯器,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07判斷整數(shù)序列是否為二元查找樹(shù)的后序遍歷結(jié)果的解決方法
本篇文章是對(duì)判斷整數(shù)序列是否為二元查找樹(shù)的后序遍歷結(jié)果的解決方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05深度解析C語(yǔ)言中數(shù)據(jù)的存儲(chǔ)
本文詳細(xì)介紹了C語(yǔ)言中數(shù)據(jù)的存儲(chǔ),文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05C++ vector在多線程操作中出現(xiàn)內(nèi)存錯(cuò)誤問(wèn)題及解決
這篇文章主要介紹了C++ vector在多線程操作中出現(xiàn)內(nèi)存錯(cuò)誤問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08C語(yǔ)言深入講解之從函數(shù)棧幀角度理解return關(guān)鍵字
在C語(yǔ)言中,一般情況下函數(shù)的返回值是通過(guò)函數(shù)中的return語(yǔ)句來(lái)實(shí)現(xiàn)的,每調(diào)用一次return語(yǔ)句只能從函數(shù)中返回一個(gè)值,這篇文章主要給大家介紹了關(guān)于C語(yǔ)言從函數(shù)棧幀角度理解return關(guān)鍵字的相關(guān)資料,需要的朋友可以參考下2021-09-09解析C語(yǔ)言中結(jié)構(gòu)體struct的對(duì)齊問(wèn)題
這篇文章主要介紹了C語(yǔ)言中結(jié)構(gòu)體struct的對(duì)齊問(wèn)題,作者深入到內(nèi)存分配方面來(lái)進(jìn)行解析,需要的朋友可以參考下2016-04-04C++中幾種將整數(shù)轉(zhuǎn)換成二進(jìn)制輸出的方法總結(jié)
下面小編就為大家?guī)?lái)一篇C++中幾種將整數(shù)轉(zhuǎn)換成二進(jìn)制輸出的方法總結(jié)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09epoll多路復(fù)用的一個(gè)實(shí)例程序(C實(shí)現(xiàn))
這篇文章主要為大家詳細(xì)介紹了epoll多路復(fù)用的一個(gè)實(shí)例程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08