5

C++ ではtypeid、演算子を使用してポリモーフィック クラスの名前を取得できます。

const char* name = typeid( CMyClass ).name();

const char*返されたポインタが指す文字列は、プログラムでどのくらいの期間使用できますか?

4

2 に答える 2

15

rtti を持つクラスが存在する限り。したがって、単一の実行可能ファイルを扱う場合は、永遠に. ただし、Dynamic Link Librariy 内のクラスの場合は少し異なります。場合によっては、アンロードできます。

于 2010-01-21T13:55:44.167 に答える
3

によって返されるメモリはtype_info::name()、アプリケーションの存続期間中使用できます。

于 2010-01-21T13:55:44.457 に答える