C11-decltype的用法
程序员文章站
2022-03-21 16:36:37
...
//decltype主要作用是通过对象编译期推算获得类型,输入参数是对象/实例/变量名,返回一个类型。
//常用用法场景:通过auto 推算的声明的变量很多时候有很长一大串,咱们不太好写出变量类型,
//可是又需要用刚才的auto类型声明其他变量
/*
auto a=...........;
decltype(a) b;
*/
//以lambda表达式的语法通过通过参数推算出返回值
/*
//编译不过去吧??!!
template<typename T1,typename T2>
decltype(x+y) Add(T1 x,T2 y)
{
}*/
//真正的改进
//类似于lambda表达式
template<typename T1, typename T2>
auto Add(T1 x, T2 y)->decltype(x + y)
{
}
private:
};
下一篇: C11-初始化列表