ラムダは便利だな

今までスコープの外の変数を使う場合は、BOOST_FOREACH を使っていたんですが、

int sum = 0;
BOOST_FOREACH(int n, boost::counting_range(0, 10)){
    sum += n;
}

[&]にすればスコープの外をキャプチャ出来るんですね。

int sum = 0;
boost::for_each(boost::counting_range(0, 10), [&](int n){
    sum += n;
});

知らなかった…。