//常用标准类型转换模板
#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;
}
本文介绍了C++中使用模板进行类型转换的方法,包括remove_reference和add_const等模板特性的应用示例。通过具体代码展示了如何对引用和常量进行转换。
2万+

被折叠的 条评论
为什么被折叠?



