【问题标题】:Difference or benefit of auto myFunc() -> int and int myFunc() [duplicate]auto myFunc() -> int 和 int myFunc() 的区别或好处 [重复]
【发布时间】:2015-01-14 10:05:23
【问题描述】:

查看了一些关于 C++14 的在线文档后,我发现以下语法用于在 C++14 中定义使用尾随返回类型的函数:

auto myFunc() -> int {}

我的问题是,除了使用这种方式在参数和其他一些场景中使用 decltype 之外,将上述语法用于 bog 标准函数是否有区别或任何好处,例如:

int myFunc() {}

【问题讨论】:

  • No 在这种情况下类型是已知的并且明确的没有区别。
  • 在 C++14 中它应该变成auto myFunc () { }
  • @BartekBanachewicz auto 编译器尚未成熟地支持返回类型(例如,递归函数调用的深层链需要注意定义顺序,clang 禁用调试符号信息,因此 valgrind 等被削弱,并且 Doxygen 还没有真正理解返回类型)。
  • 不管你是否使用尾随返回类型,myFunc 都需要返回一个int :)

标签: c++ c++11 c++14 trailing-return-type


【解决方案1】:

论证:连贯性。
这样一来,您就不会出现需要尾随返回类型的怪异函数了。

反对:哇,这太丑了。[pers.意见]

语义差异:无。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-04
    • 1970-01-01
    • 2021-08-02
    • 2013-02-02
    • 2019-09-06
    • 2012-12-08
    • 2021-05-04
    • 1970-01-01
    相关资源
    最近更新 更多