[問題] C++幾種新式cast的用法
我想要請問一下,C++有四種新式的cast operator:
static_cast, dynamic_cast, const_cast, reinterpret_cast
但我卻不知道這幾種 cast 的正確使用時機
目前對它們的認識僅有:
static_cast<T>(exp) 與傳統的 (T)exp 是相同的意思
其他三種則負責傳統轉型無法做到的東西
dynamic_cast<T>(exp) 與多型類別的轉換有關
const_cast<T>(exp) 可以去除"const"這個特性,讓函式傳遞時能過關
我想它們被設計出來,應該會有些場合是「非用不可」的
但是卻試不出適合的例子
特別是 reinterpret_cast, 很多書都只說一句「與平台相依」
但是卻不懂它具體該怎麼使用...
因此想要請教一下,可否對於這幾種 cast 舉些「非用不可」的範例呢?
譬如說,在哪一種狀況裡,如果不使用 dynamic_cast 就一定會錯誤之類的
這幾個東西困擾了我好久,雖然沒學會好像也沒什麼關係 XD
但就覺得不太對勁...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.117.171.46
推
12/28 22:48, , 1F
12/28 22:48, 1F
→
12/28 22:49, , 2F
12/28 22:49, 2F
→
12/28 22:50, , 3F
12/28 22:50, 3F
→
12/28 22:50, , 4F
12/28 22:50, 4F
推
12/28 23:08, , 5F
12/28 23:08, 5F
→
12/28 23:09, , 6F
12/28 23:09, 6F
→
12/28 23:10, , 7F
12/28 23:10, 7F
→
12/28 23:11, , 8F
12/28 23:11, 8F
→
12/28 23:11, , 9F
12/28 23:11, 9F
推
12/28 23:12, , 10F
12/28 23:12, 10F
→
12/28 23:13, , 11F
12/28 23:13, 11F
推
12/28 23:13, , 12F
12/28 23:13, 12F
推
12/28 23:18, , 13F
12/28 23:18, 13F
→
12/29 04:20, , 14F
12/29 04:20, 14F
推
01/06 12:41, , 15F
01/06 12:41, 15F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章