for のループカウンタがいじれて辛い問題

ぶんちょうさんが Twitter / yutopp: forループで
for(int i=0; ...
と おっしゃっていたので.

boost::for_each(boost::irange(begin, end), [](int i) { ...; }); な書き方は良いんですが,個人的にめんどくさいので for みたいに書けた方が良い.

ただループ変数を知らぬ間に辺なところで弄るので詰む.

explicit bool と operator T 使えばなんとなくいけるんじゃないですか.

Ideone.com - KxwKwb - Online C++0x Compiler & Debugging Tool

規格的に問題ない... と思う.

突っ込まれたし正論なので

for(auto const i : boost::irange(0, 10)) { ... } とかで良い.

政治的な理由等々により Boost の使用が禁止されている場合は boost::irange 自作とかで.