【发布时间】:2014-07-04 14:57:22
【问题描述】:
我想弄清楚for_each() 是如何使用的。首先,我改造了这个循环
for(int i = 0; i < myvector.size(); ++i){
myvector[i].a.b. = true;
}
进入
auto enable [](Myvect &mv) {mv.a.b = true;};
for_each(myvector.begin(), myvector.end(), enable);
这很好用。
现在我想将for_each 构造用于以下循环:
for(int i = 0; i < myvector.size(); ++i){
foo(local_var, myvector[i]);
}
这可能吗?
【问题讨论】:
-
为什么不呢?只需将
foo(...)放入您的 lambda 中即可。 -
当您说“这很好”时,您是否真的运行了代码并检查了结果?
-
@KerrekSB,它已编译:D 我会在一分钟内测试它。
-
@Vorac:我推荐this advice提问...
-
@KerrekSB,对不起,我在将代码重写到 qiestion 时忘记了 &。你知道,这不是实际的代码。