如何在 (cout << ... << args) using fold expressions?

问题描述 投票:0回答:1

给定

template<typename ...Types>
void print(Types&& ...args) {
    (cout << ... << args);
}
// ....
print(1, 2, 3, 4); // prints 1234

如何添加空格以便我们得到

1 2 3 4

更新:

正确答案:

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

c++ c++17 fold-expression
1个回答
17
投票

通常的解决方法是折叠逗号运算符,尽管简单的方法会留下尾随空格:

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

更改它以避免尾随空格,作为读者的练习。

© www.soinside.com 2019 - 2024. All rights reserved.