在C++ 17中,fold表达式可用,因此要打印参数,我们可以使用
#define EOL '\n'
template<typename ...Args>
void output_argus(Args&&... args)
{
(cout << ... << args) << EOL;
}
int main()
{
output_argus(1, "test", 5.6f);
}
Run Code Online (Sandbox Code Playgroud)
有输出
1test5.6
如果我想使用fold表达式'\n'为每个元素添加额外的字符以获得以下结果,该怎么办?
1
test
5.6
Run Code Online (Sandbox Code Playgroud)
这甚至可能吗?如果有,怎么样?