这是问题如何检查对象是否为const的一个分支。
我很惊讶看到以下程序。
我很惊讶看到以下程序。
#include <iostream>
#include <type_traits>
int main()
{
std::cout << std::boolalpha;
std::cout << std::is_const<const int&>::value << "\n";
}
生成了以下输出
false
在什么情况下,将const int&
视为非const类型是有意义的?
is_const<T>
的定义是“T 是带 const 修饰符的”。由于引用无法进行 cv 限定,因此从语言角度来看这是有道理的。 - Mat