実行時型情報

読み:じっこうじかたじょうほう
外語:RTTI: Run Time Type Information 英語
品詞:名詞

プログラム実行時に型の情報を得る機能のこと。RTTIともいう。

目次

C++のようなオブジェクト指向プログラミング言語では、ポリモルフィズムに対応している。

この機能では、実行されるまで型が分からないオブジェクトが存在しうる。

このような場合、コンパイル時点ではその型が分からないため、実行時型情報という機能を用い、実行中にその型を調べる必要が生じる。

該当

C++の場合、次のようなものが該当する。

また、ISO/IEC 14882:2011(C++11)からは以下が追加される。

プログラムサイズの増加や実行速度の低下など、パフォーマンスを落とすので、処理系によっては指定無しの場合は無効になっていることもある。

処理コスト

dynamic_castを使えば型キャスト(型変換)が可能。

これはstatic_castとは違い、コンパイルの時点では型が分からないので、実行段階で処理が行なわれる。そのためのコードとそれを呼び出すコードは実行ファイルに含まれることになるため、その分のサイズと処理速度のコストがある。管理情報としてtype_infoクラスも含まれるため、その分のサイズも増えることになる。

処理速度については、static_castは単なるコンパイラーへの指示に過ぎずバイナリ段階では何も残らないため0と考えられるが、dynamic_castはコンパイラーによってはかなりの時間を要するようである。

関連する用語
C++
ポリモルフィズム
型推論

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club