//常用标准类型转换模板
#include<iostream>
#include<type_traits>
using namespace std;
int main()
{
//对于模板参数T
//remove_reference将X&& 或 X& 转换为 X,其他保持不变
typename remove_reference<int&&>::type a = 2;
cout << a << endl;
//add_const 除X& const X&,函数外是T,其他都是const T
typename add_const<int>::type b = 2;//b const int//b = 3错误
typename add_const<int&>::type c = a;//c int&
c = b;
cout << a << ends << b << ends << c << endl;
system("pause");
return 0;
}
#include<iostream>
#include<type_traits>
using namespace std;
int main()
{
//对于模板参数T
//remove_reference将X&& 或 X& 转换为 X,其他保持不变
typename remove_reference<int&&>::type a = 2;
cout << a << endl;
//add_const 除X& const X&,函数外是T,其他都是const T
typename add_const<int>::type b = 2;//b const int//b = 3错误
typename add_const<int&>::type c = a;//c int&
c = b;
cout << a << ends << b << ends << c << endl;
system("pause");
return 0;
}