auto和decltype的结合
0、课前秀
decltype
解决了sum()的类型问题,但t1和t2并没有声明,为了解决这个问题,引入了跟踪返回类型(trailing-return-type)。
1、跟踪返回类型的引入
- 原先只用decltype的写法
template<typename T1, typename T2>
decltype(t1+t2) sum(T1 &t1, T2 &t2)
{
return t1 + t2;
}
- 现在:auto和decltype的写法
template <typename T1, typename T2>
auto sum(T1 &t1, T2 &t2)->decltype( t1 + t2)
{
return t1 + t2;
}
2、构成追踪返回类型函数的两个基本元素
auto
占位符- 复合符号
->return_type
,即->decltype(t1+t2)
3、跟踪返回类型函数的实际应用
- 目前理解不深刻
ReadMe
- 20200421第1版:《深入理解C++11》4.4,《深入应用C++11》写得太简单了。
原文链接: https://www.cnblogs.com/fewolflion/p/12752147.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;
也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/343720
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!