O'Reilly logo

Navigating C++ and Object-Oriented Design by Gail Anderson, Paul Anderson

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required