Qual è la durata della memoria puntato typeinfo :: nome ()?
Domanda
In C ++ posso usare operatore typeid
per recuperare il nome di una classe polimorfica:
const char* name = typeid( CMyClass ).name();
Per quanto tempo la stringa a cui punta il puntatore const char*
tornato a disposizione il mio programma?
Soluzione
Fino a quando la classe con RTTI esiste. Quindi, se avete a che fare con il singolo eseguibile - per sempre. Ma per le classi in un Dynamic Link Librariy sposta un po '. Potenzialmente è possibile scaricarlo.
Altri suggerimenti
La memoria restituita da type_info::name()
sarà disponibile per tutta la vita dell'applicazione.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow