12.3. The Typeid Operator
The typeid() operator determines an object's dynamic type or static type. Here's the format.
const Type_info & typeid(Type) const Type_info & typeid(expression)
Type is a built-in or user-defined type. Both formats return a reference to a Type_info object, which we will examine shortly. If Type is polymorphic, typeid() returns a run-time dynamic type; otherwise, it returns a compile-time static type. The use of typeid() in programs requires header file <typeinfo.h>.
To make working with object types convenient, typeid() provides the following notations.
typeid(a) == typeid(b) | returns true if a and b are the same type |
typeid(a) != typeid(b) | returns true if a and b are not the same type |
typeid(a).name() | returns the name ... |
Get Navigating C++ and Object-Oriented Design 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.