1. 互轉。
2.
3.
4. ()。
專門用於處理,對繼承體系內的對象的指針【引用】進行轉換,轉換時會進行/EHsc /GR
如果能轉換會返回對應的指針【引用】;不能轉換時,指針會返回空,引用則拋出std::bad_cast異常(const std::bad_cast& e),需#include <typeinfo>
另外,對於菱形非virtual繼承、非public繼承,轉換時會拋出std::bad_cast異常
對指針【引用】進行原始轉換,不做任何偏移處理()
1.
2.
去掉或增加、特性
形式:或
最好是使用;原因是:在某些編譯器下,(type)object不會調用構造函數,而type(object)下則肯定會調用構造函數
C類型強制轉換會按照以下順序進行嘗試轉換:
a. const_cast
b. static_cast
c. static_cast, then const_cast
d. reinterpret_cast
f. reinterpret_cast, then const_cast