why typeid returns that int and const int are same types

前端 未结 2 1289
不知归路
不知归路 2020-12-06 10:58
if(typeid(int) == typeid(const int))
       cout << \"Same types\"<< endl;

PROGRAM OUTPUT:

Same

2条回答
  •  暗喜
    暗喜 (楼主)
    2020-12-06 11:19

    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.

提交回复
热议问题