typeidoperator (as a const-qualified lvalue). Although its actual dynamic type may be of a derived class.
typeidcan be applied to any type or any expression that has a type.
volatilequalified type is identified as its unqualified equivalent.
typedeftype is considered the same as its aliased type.
typeidis applied to a reference or dereferenced pointer to an object of a polymorphic class type (a class declaring or inheriting a virtual function), it considers its dynamic type (i.e., the type of the most derived object). This requires the RTTI (Run-time type information) to be available.
typeidis applied to a dereferenced null pointer, a bad_typeid exception is thrown.
typeidextends to the end of the program.
type_infoare private: objects of this type cannot be copied.
type_infoare deleted: objects of this type cannot be copied.