gpt4 book ai didi

c++ - 是否可以在折叠表达式中插入额外的操作?

转载 作者:可可西里 更新时间:2023-11-01 15:05:15 24 4
gpt4 key购买 nike

在 C++17 中,折叠表达式可用,所以要打印参数,我们可以使用

#define EOL '\n'

template<typename ...Args>
void output_argus(Args&&... args)
{
(cout << ... << args) << EOL;
}


int main()
{
output_argus(1, "test", 5.6f);
}

有输出
1test5.6

如果我想使用折叠表达式向每个元素附加一个额外的字符 '\n' 以获得以下结果怎么办?

1
test
5.6

这可能吗?如果是,如何?

最佳答案

What if I would like using the fold expression appending an extra character '\n' to each element to get the following results?

您可以使用逗号运算符的强大功能

 ((std::cout << args << std::endl), ...);

或者,按照 Quentin(谢谢)的建议和您的要求,您可以简单地使用 \n 而不是 std::endl (以避免多次刷新流)

 ((std::cout << args << '\n'), ...); 

关于c++ - 是否可以在折叠表达式中插入额外的操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53216992/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com