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