【发布时间】:2019-02-06 22:49:56
【问题描述】:
实际上是否有任何理由不再使用以下语法:
template<typename T>
auto access(T& t, int i)
-> decltype(t[i])
{
return t[i];
}
现在我们可以使用了:
template<typename T>
decltype(auto) access(T& t, int i)
{
return t[i];
}
尾随返回类型语法现在看起来有点多余?
【问题讨论】:
-
也许只有我一个人,但有时我想查看函数定义并立即知道它将返回什么而不查看实现
-
您不是唯一一个,C++ 编译器也经常这样......他们很容易与新标准功能的早期实现混淆。 (或者更确切地说:编译器 A 在编译器 B 理解的代码上出错,反之亦然......)
标签: c++ c++14 trailing-return-type return-type-deduction