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