我正在閱讀「C++遊覽」一書,以下段落無法理解。 「不同類型是不可接受的」是什麼意思?那麼,何時使用指針鑄造以及何時使用參考鑄造?有人可以詳細說明這一點嗎?謝謝。何時使用參考dynamic_cast?
編輯: 另一個問題,「Difference in behavior while using dynamic_cast with reference and pointers」問dynamic_cast的行爲,我可以理解 - 返回nullptr或拋出異常。在這個問題中,我問什麼時候使用一個,什麼時候使用另一個。
「我們使用的dynamic_cast當一個指針到一個不同的派生類的一個目的是有效參數的指針類型。然後,我們測試結果是否 是nullptr。這個試驗通常被方便地放置在 。一個變量的在一狀態下的初始化當不同類型的 是不可接受,我們可以簡單的dynamic_cast爲引用類型如果 對象不是所期望的類型,bad_cast被拋出:」 - ℃的遊++ ,4.5.3節