std::type_info::name
提供: cppreference.com
const char* name() const; |
(C++11未満) | |
const char* name() const noexcept; |
(C++11以上) | |
型の名前を含む処理系定義のヌル終端文字列を返します。 保証は何もありません。 特に、返される文字列が複数の型に対して同じであったり、同じプログラムでも実行のたびに変わったりする可能性もあります。
目次 |
[編集] 引数
(なし)
[編集] 戻り値
型の名前を含むヌル終端文字列。
[編集] ノート
返されたポインタの指す配列の生存期間は未規定ですが、実際的には、その型に対する RTTI データ構造体が存在する限りは存続します。 つまり、動的ライブラリからロードされた (そのためアンロードされる可能性がある) ものでない限り、アプリケーションと同じ生存期間を持ちます。
いくつかの処理系 (MSVC, IBM, Oracle など) では、人間が読める形式の型名を生成します。 他の処理系 (特に gcc と clang) では、 Itanium C++ ABI で規定されている、マングリングされた名前を返します。 マングリングされた名前は abi::__cxa_demangle のような処理系固有の API を直接使用するか、 boost::core::demangle を通して使用することで、人間が読める形式に変換できます。 また、コマンドラインユーティリティ c++filt -t
でパイプすることもできます。
[編集] 例
Run this code
出力例:
4Base 7Derived
[編集] 関連項目
(C++11) |
同じ型に対して同一の値を返します (パブリックメンバ関数) |