【发布时间】:2013-08-29 13:33:40
【问题描述】:
static_cast<T>(...) 是在编译时还是运行时完成的?我用谷歌搜索,但我得到了不同的答案。
另外,dynamic_cast<T>(...) 显然是运行时 - 但 reinterpret_cast<T>(...) 呢?
【问题讨论】:
-
“静态”...线索就在名字里。
-
static_cast 不执行运行时检查。
-
从现有答案来看,这里需要决定的更大问题是您所说的“在编译时完成”。虽然在编译时选择要使用的转换,但实际转换本身可以(并且通常会)很好地导致需要在运行时执行的转换代码。
标签: c++ c++11 casting runtime compile-time