イントロダクション RTTI (Run Time Type Information) は実行時型情報などと訳され、その名の通り実行時に型の情報を得る機能のことをいいます。これは、ポリモーフィックなオブジェクトを扱う時に有効な機能です。dynamic_cast 演算子や typeid 演算子、type_info クラスなどがこれにあたります。 便利な機能には大抵コストがついてまわります。RTTI も例外ではなく、プログラムサイズの増加や実行速度の低下などのコストがかかります。そして RTTI は、コストがかかるという理由と、特別必要な機能ではないという理由から、敬遠されがちです。しかし、全てのコードを自分で書く場合は RTTI を使わずに安全な設計をすることも可能ですが、他人の作ったライブラリを使う場合はそうもいかないことがあります。また、自分で全部書く場合でも、RTTI を使った方がスマー