こんにちは。 C++11で対応された範囲ベースfor、すっごく便利なのでよく使っているのですが、たまにインデックス番号も欲しい時があります。 そんな時は、for (size_t i=0; 云々で回してます。ドン臭いし、既に範囲ベースforで書いているコードを書き換えるのも面倒です。 begin(), end()で回せばdistance()が使えることは分かっているのですが、for (size_t i=0; 云々と同様書き換えが面倒なのです。更にバグでイテレータがend()を越えるとちょっと怖いです。 頭でsize_t index=0;してループの最後で++index;もありですが、continue使うとはまりそうです。 範囲ベースforで回している時にインデックス番号をスマートに計算する方法ってないでしょうか? ありそうな気もするのですが、グーグル先生教えてくれないのです。orz 【閑話休