只要宣告一下型態就可以了
但在C++中,由於物件的導入,所以變的不在那麼單純,
Type-Casting也多了四種型態reinterpret_cast, const_cast, static_cast, dynamic_cast
當然原本C的還是可以用啦。
- const_cast可以移除物件的constness,使存取原本被宣告為const的物件變的可能。
- static_cast
- 僅依靠compile time的資訊來做可行性的驗證,在run time則沒有做
- 使用在數字型態的轉換或是相關class的轉換 (upcasting or downcasting)
- dynamic_cast
- 在compile time和run time的資訊來做可行性的驗證,但是run time的檢查同時也是種overhead
- 是在做object pointer or reference的轉換 (在upcasting會成功)
- 當在對pointer的cast失敗會return NULL;在對reference的cast失敗會丟exception
- reinterpret_cast則是強制轉換,不在意class間的關係。
MSDN和CodeProject上都有很不錯的文件,另外在Cprogramming跟Cplusplus也有可以相關的介紹。
張貼留言
注意:只有此網誌的成員可以留言。