Класс vector: удаление элементов

Для удаления элементов предназначены следующие методы:

  • pop_back() — удаляет последний элемент. Прототип метода:
void pop_back();

Пример:

std::vector<int> arr = {1, 2, 3};
arr.pop_back();
for (int &el : arr) std::cout << el << ' ';
std::cout << std::endl; // 1 2
  • erase() — удаляет один элемент или элементы из диапазона. Прототипы метода:
iterator erase(const_iterator pos);
iterator erase(const_iterator first, const_iterator last);

Первый прототип удаляет элемент на который указывает итератор. Второй прототип удаляет элементы из диапазона, ограниченного итераторами first и last:

std::vector<int> arr = {1, 2, 3, 4, 5};
arr.erase(arr.begin());
for (int &el : arr) std::cout << el << ' ';
std::cout << std::endl; // 2 3 4 5
arr.erase(arr.begin() + 1, arr.begin() + 3);
for (int &el : arr) std::cout << el << ' ';
std::cout << std::endl; // 2 5
  • clear() — удаляет все элементы. Прототип метода:
void clear() noexcept;

Пример:

std::vector<int> arr = {1, 2, 3, 4, 5};
arr.clear();
std::cout << arr.size() << std::endl;     // 0
std::cout << arr.capacity() << std::endl; // 5

Учебник C++ (MinGW-W64)
Учебник C++ (MinGW-W64) в формате PDF

Помощь сайту

ЮMoney (Yandex-деньги): 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов