Biblioteca Type_info de C ++ - bad_typeid

Descripción

Lanza una excepción en typeid de punto nulo.

Declaración

A continuación se muestra la declaración de std :: bad_typeid.

C ++ 98

class bad_typeid;

C ++ 11

class bad_typeid;

Parámetros

ninguna

Valor devuelto

ninguna

Excepciones

No-throw guarantee - esta función miembro nunca arroja excepciones.

Carreras de datos

Se modifica el objeto de configuración regional.

Ejemplo

En el siguiente ejemplo para std :: bad_typeid.

#include <iostream>
#include <typeinfo>
 
struct S {
   virtual void f();
};

int main() {
   S* p = nullptr;
   try {
      std::cout << typeid(*p).name() << '\n';
   } catch(const std::bad_typeid& e) {
      std::cout << e.what() << '\n';
   }
}

La salida debería ser así:

Attempted a typeid of NULL pointer!