Класс deque: определение и изменение количества элементов

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

  • size() — возвращает количество элементов в очереди. Прототип метода:
size_type size() const noexcept;

Пример:

std::deque<int> arr = {1, 2, 3};
std::cout << arr.size() << std::endl; // 3
  • empty() — возвращает значение true, если очередь не содержит элементов, и false — в противном случае. Прототип метода:
bool empty() const noexcept;

Пример:

std::deque<int> arr;
std::cout << std::boolalpha
          << arr.empty() << std::endl;          // true
arr = {1, 2, 3};
std::cout << arr.empty() << std::endl;          // false
  • shrink_to_fit() — уменьшает объем памяти, чтобы он соответствовал размеру очереди. Прототип метода:
void shrink_to_fit() noexcept;
  • resize() — задает количество элементов, равное числу new_size. Если указанное количество элементов меньше текущего количества, то лишние элементы будут удалены. Если количество элементов необходимо увеличить, то в параметре val можно указать значение, которое заполнит новое пространство. Прототипы метода:
void resize(size_type new_size);
void resize(size_type new_size, const value_type &val);

Пример:

std::deque<int> arr = {1, 2, 3};
arr.resize(2);
std::cout << arr.size() << std::endl;          // 2
arr.resize(5, 0);
std::cout << arr.size() << std::endl;          // 5
for (int &el : arr) std::cout << el << ' ';
std::cout << std::endl;                        // 1 2 0 0 0
  • max_size() — возвращает максимальное количество элементов, которое теоретически может содержаться в контейнере. Прототип метода:
size_type max_size() const noexcept;

Пример:

std::deque<int> arr;
std::cout << arr.max_size() << std::endl;
// 4611686018427387903

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

Помощь сайту

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

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