実行時型情報
実行時型情報(じっこうじかたじょうほう、英: Run-Time Type Information, RTTI)とは、プログラムの実行時に、メモリ上に存在するオブジェクトのデータ型に関する情報のことである。実行時型識別(英: Run-Time Type Identification, RTTI)とも。
主に型の内部名および継承の階層構造や、実装によってはメンバ関数シグネチャなどの情報を保持していることもある。これによってプログラム内のオブジェクトや変数の型を動的に(実行時に)判別できるようにする。
実行時型情報は多くのプログラミング言語で用いることができるが、RTTIは特にC++で用いられる言葉である。C++でdynamic_cast
による型変換やtypeid
演算子を用いるにはRTTIを有効にしなければならない。RTTIを有効にするとデータ量が増えたり速度性能に影響が出たりすることもあるため、特に組み込み用途ではRTTIが無効化されることもある。