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

时间:2016-01-07 18:26:02

标签: 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
}

有更自然的东西:

template<class... ARGS>
void bar(const ARGS& ... args) {        
    foo(args)...;
}

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

顺便说一句,如果有人知道在c ++ 14中用更简洁的方式写这个,请随意分享,但我认为,这已经在this question中处理了

1 个答案:

答案 0 :(得分:5)

fold expression与逗号运算符一起使用:

$('.superdiv').children().wrapAll('<div class="subdiv"></div>');

我没有看到任何建议在最近的邮件中进一步改变这一点。