尾随返回类型语法应该是所有函数的默认语法吗?

时间:2012-12-15 01:06:45

标签: c++ c++11 auto return-type function-declaration

  

可能重复:
  alternative function syntax

在复杂的函数模板中,有时需要使用C ++ 11尾随返回类型语法才能在参数上使用decltype,否则这些参数会过晚地进入范围:

template<typename T, typename U>
auto add(const T& a, const U& b) -> decltype(a + b)
{
    return a + b;
}

从现在开始总是使用这种新语法会不会更加一致?即使是正常的功能呢?

auto main() -> int;

然后我们只需在现代代码中处理一个函数语法而不是两个函数语法,我们可以弃用旧语法,就像我们不推荐使用隐式int或隐式使用声明一样。

为了使新语法更具吸引力,我们可以用更好的名称替换auto

#define def auto

突然,main的签名看起来对功能程序员非常有吸引力:

def main() -> int;

我忽略了什么吗?尾部返回类型语法是否在某种程度上低于我的想法?

0 个答案:

没有答案