• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:STLのvectorの削除)

STLのvectorの削除方法と使用するiteratorについて

このQ&Aのポイント
  • STLのvectorの要素を削除する方法と、削除する要素のiteratorを取得する方法について教えてください。
  • vector<myclass> v;と宣言されたvectorの中の任意の要素を削除する場合、どのようにその要素のiteratorを取得するのでしょうか。
  • 現在の要素のインデックスからiteratorを取得する方法について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

一般には vector<myclass>::iterator it = v.begin(); advance(it,5); // #include <iterator> needed. でしょうね。

scanfprintf
質問者

お礼

早速のご回答ありがとうございました。 advanceという便利なものを知らなっかったです。 私の知識不足で、お騒がせしました。 大変助かりました。

その他の回答 (1)

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.2

vectorの反復子はランダムアクセス反復子なので... vector<myclass>::iterator it = v.begin() + 5; v.erase(it); でよいのでは? listなども含めたコンテナ一般の話であれば、#1の方法しかないと思います。

scanfprintf
質問者

お礼

早速のご回答ありがとうございました。 大変助かりました。