Namespaces
Variants

std::deque<T,Allocator>:: pop_front

From cppreference.net

void pop_front ( ) ;
(constexpr начиная с C++26)

Удаляет первый элемент контейнера.

Если empty() возвращает true , поведение не определено.

(до C++26)

Если empty() возвращает true :

  • Если реализация является hardened , происходит contract violation . Более того, если обработчик нарушения контракта возвращает управление при семантике оценки "observe", поведение не определено.
  • Если реализация не является hardened, поведение не определено.
(начиная с C++26)

Итераторы и ссылки на удалённый элемент становятся недействительными. Если элемент является последним элементом в контейнере, end() итератор также становится недействительным. Другие ссылки и итераторы не затрагиваются.

Сложность

Константа.

Пример

#include <deque>
#include <iostream>
int main()
{
    std::deque<char> chars{'A', 'B', 'C', 'D'};
    for (; !chars.empty(); chars.pop_front())
        std::cout << "chars.front(): '" << chars.front() << "'\n";
}

Вывод:

chars.front(): 'A'
chars.front(): 'B'
chars.front(): 'C'
chars.front(): 'D'

Смотрите также

удаляет последний элемент
(public member function)
добавляет элемент в начало
(public member function)
доступ к первому элементу
(public member function)