| ア | イ | ウ | エ | オ |
| カ | キ | ク | ケ | コ |
| サ | シ | ス | セ | ソ |
| タ | チ | ツ | テ | ト |
| ナ | ニ | ヌ | ネ | ノ |
| ハ | ヒ | フ | ヘ | ホ |
| マ | ミ | ム | メ | モ |
| ヤ | ユ | ヨ | ||
| ラ | リ | ル | レ | ロ |
| ワ | ヰ | ヴ | ヱ | ヲ |
| ン |
| A | B | C | D | E |
| F | G | H | I | J |
| K | L | M | N | O |
| P | Q | R | S | T |
| U | V | W | X | Y |
| Z | 数字 | 記号 | ||
プログラム実行時に型の情報を得る機能のこと。RTTIともいう。
C++のようなオブジェクト指向プログラミング言語では、ポリモルフィズムに対応している。
この機能では、実行されるまで型が分からないオブジェクトが存在しうる。
このような場合、コンパイル時点ではその型が分からないため、実行時型情報という機能を用い、実行中にその型を調べる必要が生じる。
C++の場合、次のようなものが該当する。
また、ISO/IEC 14882:2011(C++11)からは以下が追加される。
プログラムサイズの増加や実行速度の低下など、パフォーマンスを落とすので、処理系によっては指定無しの場合は無効になっていることもある。
dynamic_castを使えば型キャスト(型変換)が可能。
これはstatic_castとは違い、コンパイルの時点では型が分からないので、実行段階で処理が行なわれる。そのためのコードとそれを呼び出すコードは実行ファイルに含まれることになるため、その分のサイズと処理速度のコストがある。管理情報としてtype_infoクラスも含まれるため、その分のサイズも増えることになる。
処理速度については、static_castは単なるコンパイラーへの指示に過ぎずバイナリ段階では何も残らないため0と考えられるが、dynamic_castはコンパイラーによってはかなりの時間を要するようである。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます