如何使用折叠表达式在(cout<<<<<< args)中插入空格?

时间:2018-02-13 06:33:37

标签: c++17 fold-expression

鉴于

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

如何添加空格以便我们获得1 2 3 4

更新

正确答案: ((std::cout << args << ' ') , ...);

1 个答案:

答案 0 :(得分:4)

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

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

改变它以避免尾随空间留给读者练习。