Search code examples
c++typeid

why typeid returns that int and const int are same types


if(typeid(int) == typeid(const int))
       cout << "Same types"<< endl;

PROGRAM OUTPUT:

Same types

am I missing something? these are not same types lol.


Solution

  • They aren't the same type, but the typeid operator strips const and volatile.

    From section 5.2.8 [expr.typeid]:

    The top-level cv-qualifiers of the glvalue expression or the type-id that is the operand of typeid are always ignored.