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
処理系
- Clang: 23 ✅
- GCC: 16 ✅
- Visual C++: 2026 Update 2 ❌