連想コンテナの場合、++オペレータはコレクションの最後を過ぎてイテレータを送信できますか?STLマップイテレータは、インクリメントによって範囲外に移動できますか?
例:これの終わりに
map<UINT32, UINT32> new_map;
new_map[0] = 0;
new_map[1] = 1;
map<UINT32, UINT32> new_iter = new_map.begin();
++new_iter;
++new_iter;
++new_iter;
++new_iter;
++new_iter;
++new_iter;
++new_iter;
、new_iter == new_map.endは()、またはそれは素晴らしい不明で終わるんでしょうか?
注:私はこれがうんざりしていることを知っていますし、物事を行う方法ではありません。私はいくつかのWTF企業コードを取り組んでいます。
これをコンパイルして、最後にnew_map.end()かどうかを確認しましたか?あなたがよく分からない場合は、このような質問に答える最も簡単な方法でしょう。 – Goz
@Goz:いいえ、それはちょうど1つの実装がやっていることに答えるでしょう。 – sbi
[STLコンテナのイテレータと等しいイテレータをインクリメントするとどうなりますか?](https://stackoverflow.com/questions/1057724/what-happens-if-you-increment-an-iterator - it-is-the-end-iterator-of-a) – Raedwald