Quelle est la durée de vie de mémoire pointée TYPEINFO :: name ()?
Question
En C ++ je peux utiliser l'opérateur de typeid
pour récupérer le nom d'une classe polymorphes:
const char* name = typeid( CMyClass ).name();
Combien de temps la chaîne pointée par le pointeur de const char*
retourné à la disposition de mon programme?
La solution
Tant que la classe existe RTTI. Donc, si vous traitez avec un seul exécutable - pour toujours. Mais pour les classes dans un Dynamic Link Librariy il se déplace un peu. Potentiellement, vous pouvez le décharger.
Autres conseils
La mémoire retournée par type_info::name()
sera disponible pour la durée de vie de l'application.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow