clase de type_information

La clase de type_information describe información de tipo generada en el programa por el compilador.Los objetos de esta clase almacenan eficazmente un puntero a un nombre para el tipo.La clase de type_information también almacena un valor codificadas adecuado para comparar dos tipos de igualdad o intercalarlos pedidos.Las reglas y la secuencia de ordenación de codificación para los tipos se sin especificar y pueden diferir entre programas.

El archivo de encabezado <typeinfo> debe incluirse para utilizar la clase de type_information .la interfaz para la clase de type_information es:

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;
};

No puede crear instancias de los objetos de la clase de type_information directamente, porque la clase solo tiene un constructor de copias private.La única manera de crear el objeto de a type_information (temporal) es utilizar el operador de typeid .Puesto que el operador de asignación también es privado, no puede copiar o asignar objetos de la clase type_information.

type_information:: hash_code define una función hash adecuada para asignar valores de typeinfo tipo a una distribución de valores de índice.

Los operadores == y != se pueden utilizar para comparar de igualdad y desigualdad con otros objetos de type_information , respectivamente.

No hay ningún vínculo entre el orden que intercala de tipos y relaciones de herencia.Utilice la función miembro de type_information:: antes para determinar la secuencia de ordenación de tipos.No hay ninguna garantía de que type_information:: antes provocará el mismo resultado en programas diferentes o incluso diferentes ejecuciones del mismo programa.De esta manera, type_information:: antes es similar a dirección-(y) de operador.

La función miembro de type_information:: nombre devuelve const char* a una cadena terminada en null que representa el nombre legible del tipo.Memoria designada en se almacena en memoria caché y nunca debe desasignarse toda directamente.

La función miembro de type_information:: raw_name devuelve const char* a una cadena terminada en null que representa el nombre representativo del tipo de objeto.El nombre se almacena realmente en forma representativa para ahorrar espacio.Por consiguiente, esta función es más rápida que type_information:: nombre porque no necesita el undecorate el nombre.la cadena devuelta por la función de type_information:: raw_name es en comparación operaciones útiles pero no es legible.Si necesita una cadena legible, utilice la función de type_information:: nombre en su lugar.

La información de tipo se genera para las clases polimórficas sólo si se especifica la opción del compilador /GR (Información de tipo habilitada en tiempo de ejecución) .

Vea también

Referencia

Información en tiempo de ejecución