Какое время жизни памяти указывало на typeinfo :: name ()? - PullRequest
5 голосов
/ 21 января 2010

В C ++ я могу использовать оператор typeid для получения имени любого полиморфного класса:

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

Как долго строка, на которую указывает возвращенный указатель const char*, будет доступна моей программе?

Ответы [ 2 ]

15 голосов
/ 21 января 2010

Пока существует класс с rtti. Так что если вы имеете дело с одним исполняемым файлом - навсегда. Но для классов в Dynamic Link Librariy это немного смещается. Потенциально вы можете разгрузить его.

3 голосов
/ 21 января 2010

Память, возвращаемая type_info::name(), будет доступна на весь срок службы приложения.

...