我有这段代码。
boost::for_each(
boost::make_iterator_range(
func(arg1),
func(arg2)
),
[&d, &f](const a<b>& c)
{
something;
}
);
我理解代码的迭代器部分。我不清楚的是我们迭代的内容。这种结构意味着什么? [](){}
答案 0 :(得分:1)
这是一个lambda-expression
,一个匿名方法/函数。如果没有理由定义不同的功能,您可以内联提供。
[]
通过值[]
或引用[&]
绑定本地参数。在()
中,您可以像在函数调用中一样传递值,{}
包含函数体。
请参阅here。