我是c ++的初学者。
#include <iostream>
#include <typeinfo>
int main()
{
const int i = 10;
std::cout << typeid(i).name() << std::endl;
}
i
的类型应为const int
,但为什么我的笔记本电脑上的结果为int
?我正在使用Windows 10,Visual Studio IDE。
答案 0 :(得分:2)
i
的类型确实是const int
,但std::type_info
返回的typeid(i)
对象确实引用了int
;因为typeid
会忽略const
。
在所有情况下,typeid都会忽略cv限定符(即
typeid(T) == typeid(const T)
)