Condividi tramite


classe di type_information

type_information la classe descrive le informazioni sul tipo generate nel programma dal compilatore.Gli oggetti di questa classe efficacemente archiviano un puntatore a un nome per il tipo.type_information la classe archivia un valore codificato appropriato per confrontare due tipi di uguaglianza o confrontare l'ordine.La codifica regole e la sequenza di ordinamento per i tipi non è specificata e può variare a seconda dei programmi.

Il <typeinfo> il file di intestazione deve essere importato da utilizzare type_information classe.l'interfaccia per type_information la classe è:

class type_info {
public:
    virtual ~type_info();
    size_t hash_code() const
    _CRTIMP_PURE bool operator==(const type_info& rhs) const;
    _CRTIMP_PURE bool operator!=(const type_info& rhs) const;
    _CRTIMP_PURE int before(const type_info& rhs) const;
    _CRTIMP_PURE const char* name() const;
    _CRTIMP_PURE const char* raw_name() const;
};

Non è possibile creare un'istanza degli oggetti di type_information classe direttamente, poiché la classe dispone di un costruttore di copia privato.L'unico modo per creare un (temporanea) type_information l'oggetto è di utilizzare typeid operatore.Poiché l'operatore di assegnazione viene inoltre privato, non è possibile copiare o assegnare gli oggetti di classe type_information.

type_information:: hash_code definisce una funzione hash appropriata per eseguire il mapping di valori di tipo typeinfo in una distribuzione dei valori di indice.

gli operatori == e != può essere utilizzato per confrontare l'uguaglianza e la disuguaglianza con un'altra type_information oggetti, rispettivamente.

Non esiste un collegamento tra l'ordine il confronto dei tipi e le relazioni di ereditarietà.utilizzare type_information:: prima funzione membro per determinare la sequenza di ordinamento di tipi.Non è garantito che type_information:: prima restituisce lo stesso risultato in programmi differenti o addirittura diverse esecuzioni dello stesso programma.in questo modo, type_information:: prima è simile al indirizzo-di (&) operatore.

type_information:: nome la funzione membro restituisce un' argomento char* const in una stringa con terminazione null che rappresenta il nome leggibile del tipo.La memoria a cui fa riferimento a viene memorizzato nella cache e deve essere rilasciata mai.

type_information:: raw_name la funzione membro restituisce un' argomento char* const in una stringa con terminazione null che rappresenta il nome decorato del tipo di oggetto.Il nome viene effettivamente archiviato nel formato decorato per risparmiare spazio.Pertanto, questa funzione è più veloce di type_information:: nome poiché non richiede il undecorate il nome.la stringa restituita dal type_information:: raw_name la funzione è in confronto operazioni utili ma non è leggibile.Se è necessaria una stringa leggibile, utilizzare type_information:: nome funzione anziché.

Le informazioni sui tipi vengono generate per le classi polimorfiche solo se /GR (Abilitare le informazioni sul tipo di runtime) è specificata l'opzione del compilatore.

Vedere anche

Riferimenti

Informazioni sui tipi di runtime