首页 >后端开发 >C++ >C 11 中的尾随返回类型:它们应该成为新标准吗?

C 11 中的尾随返回类型:它们应该成为新标准吗?

Patricia Arquette
Patricia Arquette原创
2024-12-12 16:28:16282浏览

Trailing Return Types in C  11: Should They Be the New Standard?

穿越困境:探索 C 11 中的尾随返回类型语法

C 11 引入了一种新颖的函数语法,允许开发人员指定参数列表后的返回类型:

auto func_name(int x, int y) -> int;

此语法脱离来自传统声明:

int func_name(int x, int y);

虽然这种新样式的采用仍然有限,但它提出了一个问题:它是否应该成为新 C 11 程序的默认样式?

必要性尾随返回类型的优点和优势

在某些情况下,尾随返回类型成为强制性的。这包括 lambda 函数和 decltype 实例,其中参数名称是必不可少的。

此外,尾随返回类型提供好处:

  • 范围避免:对于使用非-内联定义,尾随语法消除了重复类限定的需要两次。
  • 对称函数对齐:一致应用时,尾随返回类型整齐地对齐函数名称,提高可读性。

混合样式注意事项

混合了传统返回类型和尾随返回类型的代码库带来了审美问题。但是,值得注意的是,尾随返回类型并不普遍适用:

  • 可见性和可发现性:传统返回类型确保返回类型在标头中立即可见,从而有助于发现。
  • 兼容性问题:并非所有工具和库都完全支持尾随返回类型,可能会引入兼容性问题。

结论

是否采用尾随返回类型作为默认值的决定取决于因素的平衡。虽然它们在易读性和便利性方面具有优势,但它们可能并不普遍适用或得到充分支持。对于需要一致的函数对齐或成员 typedef 很突出的代码库,尾随返回类型具有优势。然而,在可见性、可发现性或兼容性至关重要的情况下,传统语法可能仍然更可取。

以上是C 11 中的尾随返回类型:它们应该成为新标准吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn