trailing-return-type相关内容

在 C++11 函数中使用尾随返回类型的优势

在 C++11 中指定尾随返回类型与普通返回类型相比有什么优势?在此处查看 foo1 与 foo2: int foo1() {返回 1;}自动 foo2() ->内部{返回 1;}int main() {foo1();foo2();} 解决方案 在这个例子中,它们的意思完全相同. 但是,一致地使用尾随返回类型形式有一些优点(Phil Nash 称这些形式为 “东端函数",因为返回类型在 ..
发布时间:2021-11-30 18:12:33 C/C++开发

尾随返回类型语法样式是否应该成为新 C++11 程序的默认样式?

C++11 支持新的函数语法: auto func_name(int x, int y) ->国际; 目前这个函数将被声明为: int func_name(int x, int y); 新样式似乎还没有被广泛采用(比如在 gcc stl 中) 但是,这种新风格是应该在新的 C++11 程序中处处首选,还是只在需要时使用? 就我个人而言,如果可能的话,我更喜欢旧样式,但混合样式的 ..
发布时间:2021-11-30 18:09:13 C/C++开发

是否存在无法避免lambda中的尾随返回类型语法的情况?

关于上一个问题(是否可以通过引用从lambda返回类型T的对象而无需使用尾随返回类型语法?),我想知道是否还有其他重要案例或示例,其中使用lambda时 trailing-return-type 语法是否可以不能被避免. 解决方案 在C ++ 14中,一个人为设计的示例是将sfinae与通用lambda结合使用: [](auto &&arg) -> decltype(arg.f(), ..
发布时间:2020-07-26 01:40:33 C/C++开发

如何正确写入尾部返回类型?

假设我有这个函数模板: template auto DoSomething(const T1& arg); 当然,这个函数需要一个尾随返回类型,考虑到函数的目的,我真的不能得到 这个函数应该使用 arg ,使用 arg 和 T2 对象,并使用该操作的结果作为函数的返回值。显然, DoSomething()的 ..
发布时间:2016-10-26 23:37:59 C/C++开发

模板成员函数具有尾部返回类型,即使未使用也会产生错误

我理解模板成员函数只有在使用时才会生成。如果不是所有使用的类型都支持这样的功能,这是方便的。然而,这似乎不适用于具有尾部返回类型规范的函数。下面是一个小实验: //帮助函数的情况A解决方法 template decltype(x.template f ()) {return x.temp ..