Каково время жизни памяти, на которое указывает typeinfo::name()?
Вопрос
В C ++ я могу использовать typeid
оператор для извлечения имени любого полиморфного класса:
const char* name = typeid( CMyClass ).name();
Какой длины будет строка, на которую указывает возвращаемый const char*
указатель, доступный для моей программы?
Решение
До тех пор, пока существует класс с rtti.Так что если вы имеете дело с одним исполняемым файлом - навсегда.Но для классов в библиотеке динамических ссылок это немного меняется.Потенциально вы можете его выгрузить.
Другие советы
Воспоминание, возвращенное type_info::name()
будет доступен в течение всего срока действия приложения.
Не связан с StackOverflow