[問題] 什麼時候用 static_cast 而不是dynamic?
dynamic_cast跟static_cast 對於下轉的差異我基本上了解
但是
基於這個
http://tinyurl.com/y49guge8
https://clang.llvm.org/extra/clang-tidy/checks/cppcoreguidelines-pro-type-static-cast-downcast.html
我看到同事因為這樣而把所有static_cast 全部改成dynamic_cast
導致必須加上 try catch(){ 這邊還補上了assert(false) 強調這件事不該發生}
我想問的是
既然static_cast就是對於下轉 不安全
1. 我有什麼情況下該用(較好)static 而不是dynamic_cast呢?
如果有安全的我幹嘛要用static_cast? 想知道有什麼理由反倒static_cast是更被接受的
https://ideone.com/vam3fi
2. 實際在寫產品的時候
什麼時候"不會" 把base class的 解構子 加上 virtual?
我不能阻止寫code的人 一定不能寫Base* = Derived;
所以一定會補上virtual destructor 來有備無患
但這樣變成 只要不是final class 我解構子都該冠上virtual?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.52.3.23
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1551021569.A.F0C.html
→
02/24 23:38,
7年前
, 1F
02/24 23:38, 1F
→
02/24 23:39,
7年前
, 2F
02/24 23:39, 2F
→
02/24 23:41,
7年前
, 3F
02/24 23:41, 3F
→
02/24 23:41,
7年前
, 4F
02/24 23:41, 4F
→
02/24 23:42,
7年前
, 5F
02/24 23:42, 5F
→
02/24 23:42,
7年前
, 6F
02/24 23:42, 6F
→
02/24 23:44,
7年前
, 7F
02/24 23:44, 7F
→
02/24 23:45,
7年前
, 8F
02/24 23:45, 8F
→
02/24 23:46,
7年前
, 9F
02/24 23:46, 9F
→
02/24 23:56,
7年前
, 10F
02/24 23:56, 10F
→
02/24 23:57,
7年前
, 11F
02/24 23:57, 11F
→
02/24 23:57,
7年前
, 12F
02/24 23:57, 12F
→
02/25 00:00,
7年前
, 13F
02/25 00:00, 13F
→
02/25 00:00,
7年前
, 14F
02/25 00:00, 14F
→
02/25 09:09,
7年前
, 15F
02/25 09:09, 15F
→
02/25 09:09,
7年前
, 16F
02/25 09:09, 16F
→
02/25 22:27,
7年前
, 17F
02/25 22:27, 17F
→
02/25 22:27,
7年前
, 18F
02/25 22:27, 18F
→
02/25 22:27,
7年前
, 19F
02/25 22:27, 19F
→
02/25 22:28,
7年前
, 20F
02/25 22:28, 20F
→
02/25 22:29,
7年前
, 21F
02/25 22:29, 21F
→
02/25 22:29,
7年前
, 22F
02/25 22:29, 22F
→
02/25 22:57,
7年前
, 23F
02/25 22:57, 23F
→
02/25 22:57,
7年前
, 24F
02/25 22:57, 24F
→
02/25 22:57,
7年前
, 25F
02/25 22:57, 25F
→
02/25 22:57,
7年前
, 26F
02/25 22:57, 26F
→
02/25 22:57,
7年前
, 27F
02/25 22:57, 27F
→
02/25 23:15,
7年前
, 28F
02/25 23:15, 28F
→
02/25 23:15,
7年前
, 29F
02/25 23:15, 29F
推
02/26 06:39,
7年前
, 30F
02/26 06:39, 30F
→
02/26 06:39,
7年前
, 31F
02/26 06:39, 31F
→
02/26 09:04,
7年前
, 32F
02/26 09:04, 32F
→
02/26 09:04,
7年前
, 33F
02/26 09:04, 33F
→
02/26 09:33,
7年前
, 34F
02/26 09:33, 34F
→
02/26 09:33,
7年前
, 35F
02/26 09:33, 35F
→
02/26 09:34,
7年前
, 36F
02/26 09:34, 36F
→
02/26 09:43,
7年前
, 37F
02/26 09:43, 37F
→
02/26 09:43,
7年前
, 38F
02/26 09:43, 38F
→
02/26 09:44,
7年前
, 39F
02/26 09:44, 39F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章