最終更新日時(UTC):
が更新

履歴 編集

function
<inplace_vector>

std::inplace_vector::erase(C++26)

constexpr iterator erase(const_iterator position);                   // (1) C++26
constexpr iterator erase(const_iterator first, const_iterator last); // (2) C++26

概要

指定した要素を削除する。

  • (1) : positionが指す要素を削除する。
  • (2) : イテレータ範囲[first, last)の要素を削除する。

戻り値

削除された要素の次の要素を指すイテレータ。そのような要素が存在しない場合はend()を返す。

計算量

削除される要素の数と削除位置からend()までの要素数に対して線形時間。

#include <print>
#include <inplace_vector>

int main()
{
  // (1) 単一要素の削除
  {
    std::inplace_vector<int, 10> iv = {1, 2, 3, 4, 5};
    iv.erase(iv.begin() + 2); // 3を削除

    for (int x : iv) std::print("{} ", x);
    std::println("");
  }

  // (2) 範囲の削除
  {
    std::inplace_vector<int, 10> iv = {1, 2, 3, 4, 5};
    iv.erase(iv.begin() + 1, iv.begin() + 3); // 2, 3を削除

    for (int x : iv) std::print("{} ", x);
    std::println("");
  }
}

出力

1 2 4 5
1 4 5

バージョン

言語

  • C++26

処理系

参照