Name

typeid operator — Runtime type identification operator

Synopsis

               postfix-expr := typeid ( expression ) | typeid ( type-id )

The typeid operator returns a const reference to a type_info object that describes type-id or the type of expression. If expression is an lvalue (not a pointer) of a polymorphic class, the type_info of the most-derived class is returned. Otherwise, expression is not evaluated, and the type_info of its static type is returned.

Each distinct type has its own associated type_info object, but type synonyms (such as those created with typedef) have the same type_info object.

Example

template<typename T>
void debug(const T& obj)
{
  std::clog <<typeid(obj).name(  ) << ':' << &obj << '\n';
}

See Also

expression, typedef, Chapter 3, <typeinfo>

Get C++ In a Nutshell now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.