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