[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

Popular

[HTML] Jak wstawić obrazek?

[C++] Jak obliczyć pole i obwód trapezu?

[PHP] Jak pobrać adres strony?