在閱讀C++標準時,我讀到static_cast
是一種直接初始化(C++標準8.5/15)。
我認爲這意味着在static_cast
期間,將調用相應的重載構造函數。
例如,存在從B導出的類型B和類型D,以及對象D d
。那麼表達式static_cast<B>(d)
是static_cast
表達式。static_cast從派生類到基類時會發生什麼?
作爲標準手段,這static_cast
表達式是一個直接初始化。這是否意味着這將調用B
類型的構造函數並返回B
類型的新構造對象?
編輯
的另一個問題是如何對B & b = d
或B b = d
?這兩個語句是否涉及B
的構造函數?
我編輯了我的帖子來提出另一個問題。你能看看嗎? – Zachary