语言功能,可将功能应用于参数包的每个元素

Mik*_*eMB 4 c++ standards variadic-templates c++17

有谁知道,如果有关于c ++语言功能的标准建议,可以让我取代它(感谢Yakk):

template<class... ARGS>
void bar(const ARGS& ... args) {        
    auto t = { (foo(args),0)... };
    (void) t; //<- prevent warning about unused variable
}
Run Code Online (Sandbox Code Playgroud)

像这样更自然:

template<class... ARGS>
void bar(const ARGS& ... args) {        
    foo(args)...;
}
Run Code Online (Sandbox Code Playgroud)

foo 例如函数,函数模板和/或它们的重载集合,它们的返回类型可能是无效的(或者通常我不关心)。

顺便说一句,如果有人知道用c ++ 14编写的更简洁的方法,可以随意分享,但是我认为,这个问题已经解决了

T.C*_*.C. 5

折叠表达式与逗号运算符一起使用:

( void(foo(args)) , ...);
Run Code Online (Sandbox Code Playgroud)

在最近的邮件中,我没有看到任何进一步更改此设置的建议。