疑問点
C++ のランダムアクセスイテレータを幾つか進めるとき、
終端を越えることはありえるのでしょうか?
コード
たとえば以下のコードです。
C++
1std::vector<int> vs = { /* 何か値が入っている */ }; 2auto it = vs.cbegin(); 3auto end = vs.cend(); 4while (it != end) { 5 if (*it % 2 == 0) break; 6 it += 2; // ← ここ! 7 // it + 1 == end のとき it + 2 はどうなるの? 8}
コメントに書いた通りですが、規格や STL の動作で、
ランダムアクセスイテレータが末端を越えるような末端を越えるような操作を行った場合、
規格か何かで該当のイテレータがどうなるかは規定されているのでしょうか?
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/24 13:58