当类型为 const T
、volatile T
或 const volatile T
时,remove_cv<T>
去掉了const及volatile, 返回的类型是T:
#include <iostream>
#include <string>
using namespace std;
int main()
{
const int a = 8;
cout<<is_same_v<remove_cv<decltype(a)>::type, int><<endl;
cout<<is_same_v<remove_cv_t<decltype(a)>, int><<endl;
return 0;
}
运行程序输出:
1
1
可见其const被去除了