Biblioteca C ++ Type_info - função name

Descrição

Ele retorna uma seqüência de caracteres terminada em nulo que pode identificar o tipo.

Declaração

A seguir está a declaração para std :: type_info :: name.

C ++ 98

const char* name() const;

C ++ 11

const char* name() const noexcept;

Parâmetros

Nenhum

Valor de retorno

Ele retorna uma seqüência de caracteres terminada em nulo que pode identificar o tipo.

Exceções

No-throw guarantee - esta função de membro nunca lança exceções.

Corridas de dados

O objeto local é modificado.

Exemplo

No exemplo abaixo para std :: type_info :: name.

#include <iostream>
#include <typeinfo>

struct Base { virtual ~Base() = default; };
struct Derived : Base {};

int main() {
   Base b1;
   Derived d1;

   const Base *pb = &b1;
   std::cout << typeid(*pb).name() << '\n';
   pb = &d1;
   std::cout << typeid(*pb).name() << '\n';

   return 0;
}

A saída deve ser assim -

4Base
7Derived