C++11:03auto和decltype的结合

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