どうも、ちょげ(@chogetarou)です。
リスト(List)の特定の範囲を削除する方法を紹介します。
方法

リスト(List)の特定の範囲を削除するには、erase()を使います。
まず、リストからerase()を呼び出します。
そして、erase()の第1引数に範囲の最初の位置、第2引数に範囲の最後の位置をイテレータの要素で指定します。
//myList=対象のリスト,
//first=範囲の最初の位置(イテレータの要素), end=範囲の最後の位置(イテレータの要素)
myVect.erase(first, end);
上記のerase()は、対象のリスト(List)の第1引数から第2引数までの範囲を削除します。
使用例
#include <iostream>
#include <list>
using namespace std;
int main(void){
list<string> nums = { "one", "two", "three", "four", "five", "six", "seven"};
auto first = next(nums.begin(), 3);
auto end = next(nums.begin(), 6);
nums.erase(first, end);
for(string item: nums) {
cout << item << endl;
}
return 0;
}
出力:
one
two
three
seven
コメント