When
typeid
is used in a constructor (including the
mem-initializer or default member initializer (
[class.mem])
for a non-static data member)
or in a destructor, or used in a function called (directly or indirectly) from
a constructor or destructor, if the operand of
typeid
refers to the object under construction or destruction,
typeid
yields the
std::type_info
object representing the constructor or destructor's class
.