在c ++中,[](){}构造意味着什么?

时间:2013-03-13 15:30:41

标签: c++ boost syntax foreach

我有这段代码。

boost::for_each(
    boost::make_iterator_range(
            func(arg1),
            func(arg2)
        ),
        [&d, &f](const a<b>& c)
        {
            something;
        }
);

我理解代码的迭代器部分。我不清楚的是我们迭代的内容。这种结构意味着什么? [](){}

1 个答案:

答案 0 :(得分:1)

这是一个lambda-expression,一个匿名方法/函数。如果没有理由定义不同的功能,您可以内联提供。 []通过值[]或引用[&]绑定本地参数。在()中,您可以像在函数调用中一样传递值,{}包含函数体。

请参阅here