- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:STLのvectorの削除)
STLのvectorの削除方法と使用するiteratorについて
このQ&Aのポイント
- STLのvectorの要素を削除する方法と、削除する要素のiteratorを取得する方法について教えてください。
- vector<myclass> v;と宣言されたvectorの中の任意の要素を削除する場合、どのようにその要素のiteratorを取得するのでしょうか。
- 現在の要素のインデックスからiteratorを取得する方法について教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
一般には vector<myclass>::iterator it = v.begin(); advance(it,5); // #include <iterator> needed. でしょうね。
その他の回答 (1)
- jacta
- ベストアンサー率26% (845/3158)
回答No.2
vectorの反復子はランダムアクセス反復子なので... vector<myclass>::iterator it = v.begin() + 5; v.erase(it); でよいのでは? listなども含めたコンテナ一般の話であれば、#1の方法しかないと思います。
質問者
お礼
早速のご回答ありがとうございました。 大変助かりました。
お礼
早速のご回答ありがとうございました。 advanceという便利なものを知らなっかったです。 私の知識不足で、お騒がせしました。 大変助かりました。