2015-09-05 65 views

回答

2

static_cast()static說明符無關。如果在編譯時間(即「靜態」)執行投射,那麼在您添加到您的問題中的代碼的情況下這是可能的。

另一方面,dynamic_cast()運行時間期間執行。

+3

請注意,'static_cast'仍然可以包含運行時計算(移動指針),但計算本身在編譯時已知,它不取決於指針的值,也不取決於指向的對象。 – Angew

+0

static_cast就像c語言(Class)目標方法 – zszen

+3

@zszen這隻適用於'static_cast'有效的情況。如果不是這樣,C風格的演員將默默地變成'reinterpret_cast'(可能會添加一個'const_cast')。這就是爲什麼C風格演員在C++中如此危險並且最好避免的原因。 – Angew

相關問題