typeidoperator (as a const-qualified lvalue). Although the dynamic type may be any class publicly derived from it.
typeidcan be applied to any type or typed expression.
volatilequalified type is identified as its unqualified type.
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.