C++中,有哪4种与类型转换相关的关键字?各有什么特点?应该在什么场合下使用?
C++中,四個與類型轉(zhuǎn)換相關(guān)的關(guān)鍵字:static_cast、const_cast、reinterpret_cast、dynamic_cast。
一、static_cast
特點:靜態(tài)轉(zhuǎn)換,在編譯處理期間。
應(yīng)用場合:主要用于 C++ 中內(nèi)置的基本數(shù)據(jù)類型之間的轉(zhuǎn)換,但是沒有運行時類型的檢測來保證轉(zhuǎn)換的安全性。
二、const_cast
特點:去常轉(zhuǎn)換,編譯時執(zhí)行。
應(yīng)用場合:const_cast 操作不能在不同的種類間轉(zhuǎn)換。相反,它僅僅把它作用的表達式轉(zhuǎn)換成常量。它可以使一個本來不是 const 類型的數(shù)據(jù)轉(zhuǎn)換成 const 類型的,或者把 const 屬性去掉。?
三、reinterpret_cast
特點: 重解釋類型轉(zhuǎn)換。
應(yīng)用場合:它有著和 c 風(fēng)格強制類型轉(zhuǎn)換同樣的功能;它可以轉(zhuǎn)化任何的內(nèi)置數(shù)據(jù)類型為其他的類型,同時它也可以把任何類型的指針轉(zhuǎn)化為其他的類型;它的機理是對二進制進行重新的解釋,不會改變原來的格式。
四、dynamic_cast <?type-id?> (?expression?)
該運算符將 expression 轉(zhuǎn)換成type_id類型的對象。type_id 必須是類的指針、類的引用或者空類型的指針。
?
轉(zhuǎn)載于:C++中,有哪4種與類型轉(zhuǎn)換相關(guān)的關(guān)鍵字?各有什么特點?應(yīng)該在什么場合下使用? - 長風(fēng)破浪灬 - 博客園 (cnblogs.com)
(SAW:Game Over!)
總結(jié)
以上是生活随笔為你收集整理的C++中,有哪4种与类型转换相关的关键字?各有什么特点?应该在什么场合下使用?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c/c++ / printf 实现
- 下一篇: vscode / ubuntu 下编译和