[C++] Usuwanie elementów z kontenera vector
W tym wpisie zajmiemy się modyfikatorem erase kontenera std::vector, dzięki któremu można usunąć jeden lub wiele elementów z kontenera. Metoda erase przyjmuje 3 argumenty:
- (iterator) pos - iterator na element do usunięcia;
- (iterator) first - iterator na pierwszy element z zakresu;
- (iterator) last - iterator na ostatni element z zakresu;
Metoda ta zwraca iterator za ostatni usunięty element. Jeśli argument pos wskazuje na ostatni element, metoda erase zwróci element końcowy.
Przykład
#include <iostream>
#include <vector>
int main() {
std::vector<int> my_vector {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
auto it = my_vector.begin();
my_vector.erase(my_vector.begin() + 4, my_vector.begin() + 9);
for(auto &i : my_vector) {
std::cout << i << ", ";
}
return 0;
}
W powyższym przykładzie z my_vector zostaną usunięte elementy: 5, 6, 7, 8 i 9.
Komentarze
Prześlij komentarz
Dzięki za komentarz!