Warum ist std :: type_info nicht kopierbar? Darf ich es irgendwo aufbewahren?
Frage
Das std::type_info
Die Klasse ist nicht kopierbar. Dies macht es schwierig, es in einem Objekt für die spätere Verwendung zu speichern. Was soll ich machen?
Lösung
In C ++ 11 gibt es eine viel bessere Lösung. Ein neuer kopierbarer Wrapper namens std :: type_index. Sie müssen Header "TypIndex" einfügen, um es zu verwenden.
Andere Tipps
Sie können einen Zeiger auf eine Konstante speichern std::type_info
Objekt.
Aus Msdn und IBM Online -Dokumentation:
Das
type_info
Die Klasse beschreibt Typinformationen, die vom Compiler im Programm generiert wurden. Objekte dieser Klasse speichern effektiv einen Zeiger auf einen Namen für den Typ. Dastype_info
Die Klasse speichert auch einen codierten Wert, der zum Vergleich von zwei Typen für Gleichheit oder Sammelreihenfolge geeignet ist. Die Codierungsregeln und die Sammelsequenz für Typen sind nicht spezifiziert und können zwischen den Programmen unterschiedlich sein.