c++常见类型转换
const_cast顧名思義,用來將對象的常量性轉(zhuǎn)除,使常量可以被修改,const_cast(varible)中的type必須是指針。
static_cast用來處理隱式轉(zhuǎn)換,它可以將int轉(zhuǎn)為float,也可以將char*轉(zhuǎn)為int,將指向基類的指針轉(zhuǎn)為一個(gè)指向子類的指針,同時(shí)可以將non-const轉(zhuǎn)為const對象
dynamic_cast?用于在類的繼承層次之間進(jìn)行類型轉(zhuǎn)換,它既允許向上轉(zhuǎn)型,也允許向下轉(zhuǎn)型。該函數(shù)只能在繼承類對象的指針之間或引用之間進(jìn)行類型轉(zhuǎn)換,或者有虛函數(shù)的類
reinterpret_cast主要是將數(shù)據(jù)從一種類型的轉(zhuǎn)換為另一種類型,reinterpret_cast 這種轉(zhuǎn)換僅僅是對二進(jìn)制位的重新解釋,不會借助已有的轉(zhuǎn)換規(guī)則對數(shù)據(jù)進(jìn)行調(diào)整,非常簡單粗暴,所以風(fēng)險(xiǎn)很高
總結(jié)
- 上一篇: C++内存分配方式
- 下一篇: send/recv阻塞和非租塞不同