執行階段類型資訊
執行階段類型資訊 (RTTI) 是一項機制,可在程式執行期間判斷物件的類型。 C++ 語言中加入 RTTI 的原因在於,有許多類別庫的廠商本身實作這項功能。 這樣會導致程式庫之間不相容。 因此,在語言層級支援執行階段類型資訊的需求變得很明確。
為避免混淆,這裡討論的 RTTI 幾乎完全限於指標。 不過,所討論的概念也適用於參考。
執行階段類型資訊有三個主要的 C++ 語言項目:
dynamic_cast 運算子。
用於多型類型的轉換。
typeid 運算子。
用於識別物件的實際類型。
type_info 類別。
用來保存 typeid 運算子傳回的類型資訊。