Cout中的C ++ 17折叠表达式

加布里埃尔·德·格里穆厄德(Gabriel de Grimouard)

我正在学习新的c ++ 17 fold表达式,我从c ++ 17 fold表达式中看到了这段代码我想知道为什么此代码有效:

template<typename ...Args>
void printer(Args&&... args) {
    (std::cout << ... << args) << '\n';
}

但不是这个:

template<typename ...Args>
void printer(Args&&... args) {
    (std::cout << args << ...) << '\n';
}

在我看来,这似乎也很合理,并且会颠倒打印顺序。

维托里奥·罗密欧(Vittorio Romeo)

cppreference可以看出,二进制折叠可以具有以下两种形式:

cppreference / fold中的屏幕截图

哪里E包表达式I初始化表达式


没有与您(std::cout << args << ...)的形式相符的二进制对折,形式为(I op E op ...)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C ++ 17折叠表达式计算阶乘时出错

来自分类Dev

C ++ 17折叠语法以测试向量组成

来自分类Dev

C ++ 17中的折叠表达式-比较运算符的用例

来自分类Dev

C ++ 17中的折叠表达式-比较运算符的用例

来自分类Dev

GCC 7 C ++ 17支持折叠表达式

来自分类Dev

如何使用 cout 在 C++ 中编写此表达式?

来自分类Dev

折叠表达式中的减量模板参数

来自分类Dev

用于std :: tuple访问的算法中的折叠表达式

来自分类Dev

如何在R中折叠/合并表达式对象?

来自分类Dev

std :: addressof作为C ++ 17中的常量表达式

来自分类Dev

为什么求值表达式的结果中的连续空格在Light Table中折叠?

来自分类Dev

折叠表达式中lambda中的非默认可构造参数

来自分类Dev

为什么求值表达式的结果中的连续空格在Light Table中折叠?

来自分类Dev

折叠表达式是C ++ 14还是C ++ 1z功能?

来自分类Dev

Bootstrap 3折叠菜单在IOS7中停止工作

来自分类Dev

在Bootstrap 3中实现的Foundation 4折叠主导航(又称抽屉)的示例?

来自分类Dev

在约束的部分排序中如何使用折叠表达式?

来自分类Dev

我可以std :: forward折叠表达式中的参数吗?

来自分类Dev

为什么printf中相同表达式的输出与cout不同?

来自分类Dev

cout表达式中的增量地址呈现意外的输出

来自分类Dev

在c ++中'cout << cout'和'cout <<&cout'之间的区别?

来自分类Dev

C++17 和异步成员函数调用移动捕获 lambda 表达式

来自分类Dev

C++17 中的 Lambda 表达式:尾随返回类型与用于类型转换的 static_cast

来自分类Dev

C ++中的const双重表达式

来自分类Dev

C中的+(+ k--)表达式

来自分类Dev

C中的意外表达式

来自分类Dev

什么是C中的子表达式?

来自分类Dev

C中的多表达式宏

来自分类Dev

C ++中的表达式评估问题

Related 相关文章

  1. 1

    C ++ 17折叠表达式计算阶乘时出错

  2. 2

    C ++ 17折叠语法以测试向量组成

  3. 3

    C ++ 17中的折叠表达式-比较运算符的用例

  4. 4

    C ++ 17中的折叠表达式-比较运算符的用例

  5. 5

    GCC 7 C ++ 17支持折叠表达式

  6. 6

    如何使用 cout 在 C++ 中编写此表达式?

  7. 7

    折叠表达式中的减量模板参数

  8. 8

    用于std :: tuple访问的算法中的折叠表达式

  9. 9

    如何在R中折叠/合并表达式对象?

  10. 10

    std :: addressof作为C ++ 17中的常量表达式

  11. 11

    为什么求值表达式的结果中的连续空格在Light Table中折叠?

  12. 12

    折叠表达式中lambda中的非默认可构造参数

  13. 13

    为什么求值表达式的结果中的连续空格在Light Table中折叠?

  14. 14

    折叠表达式是C ++ 14还是C ++ 1z功能?

  15. 15

    Bootstrap 3折叠菜单在IOS7中停止工作

  16. 16

    在Bootstrap 3中实现的Foundation 4折叠主导航(又称抽屉)的示例?

  17. 17

    在约束的部分排序中如何使用折叠表达式?

  18. 18

    我可以std :: forward折叠表达式中的参数吗?

  19. 19

    为什么printf中相同表达式的输出与cout不同?

  20. 20

    cout表达式中的增量地址呈现意外的输出

  21. 21

    在c ++中'cout << cout'和'cout <<&cout'之间的区别?

  22. 22

    C++17 和异步成员函数调用移动捕获 lambda 表达式

  23. 23

    C++17 中的 Lambda 表达式:尾随返回类型与用于类型转换的 static_cast

  24. 24

    C ++中的const双重表达式

  25. 25

    C中的+(+ k--)表达式

  26. 26

    C中的意外表达式

  27. 27

    什么是C中的子表达式?

  28. 28

    C中的多表达式宏

  29. 29

    C ++中的表达式评估问题

热门标签

归档