Пространства имён
Варианты
Действия

std::deque

Материал из cppreference.com
< cpp‎ | container


 
 
 
зЬй :: дека
Член функций
Оригинал:
Member functions
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
deque::deque
deque::~deque
deque::operator=
deque::assign
deque::get_allocator
Элемент доступа
Оригинал:
Element access
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
deque::front
deque::back
Итераторы
Оригинал:
Iterators
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
deque::begin
deque::cbegin

(C++11)
deque::end
deque::cend

(C++11)
deque::rbegin
deque::crbegin

(C++11)
deque::rend
deque::crend

(C++11)
Потенциала
Оригинал:
Capacity
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
deque::empty
deque::size
deque::max_size
deque::shrink_to_fit
Модификаторы
Оригинал:
Modifiers
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
deque::clear
deque::insert
deque::emplace
deque::erase
deque::push_front
deque::emplace_front
deque::pop_front
deque::push_back
deque::emplace_back
deque::pop_back
deque::resize
deque::swap
 
Определено в заголовочном файле <deque>
template<

    class T,
    class Allocator = std::allocator<T>

> class deque;

std::deque (двусторонняя очередь) представляет собой последовательный индексированный контейнер, который позволяет быстро вставлять и удалять элементы с начала и с конца. Кроме того, вставка и удаление с обоих концов двусторонней очереди оставляет действительными указатели и ссылки на остальные элементы.

В отличие от std::vector, элементы дека не хранятся непрерывно: обычно реализован с помощью набора выделенных массивов фиксированного размера.

Хранилище дека обрабатывается автоматически, расширяясь и сужаясь по мере необходимости. Расширение дека дешевле, чем расширение std::vector, потому что оно не требует копирования существующих элементов в новый участок памяти.

Сложность (производительность) стандартных операций над двусторонней очередью следующая:

  • Произвольный доступ - постоянная O(1)
  • Вставка и удаление элементов с начала и с конца - постоянная учетная стоимость O(1)
  • Вставка и удаление элементов - линейная O(n)

std::deque отвечает требованиям Container, AllocatorAwareContainer, SequenceContainer и ReversibleContainer.

Содержание

[править] Типы-члены

Тип-член Определение
value_type T [edit]
allocator_type Allocator [edit]
size_type Беззнаковый целочисленный тип (обычно size_t) [edit]
difference_type Знаковый целочисленный тип (обычно std::ptrdiff_t) [edit]
reference Allocator::reference (до C++11)
value_type& (начиная с C++11) [edit]
const_reference Allocator::const_reference (до C++11)
const value_type& (начиная с C++11) [edit]
pointer Allocator::pointer (до C++11)
std::allocator_traits<Allocator>::pointer (начиная с C++11) [edit]
const_pointer Allocator::const_pointer (до C++11)
std::allocator_traits<Allocator>::const_pointer (начиная с C++11) [edit]
iterator RandomAccessIterator [edit]
const_iterator Константный итератор с произвольным доступом [edit]
reverse_iterator std::reverse_iterator<iterator> [edit]
const_reverse_iterator std::reverse_iterator<const_iterator> [edit]

[править] Функции-члены

Создаёт deque
(public функция-член) [edit]
Уничтожает deque
(public функция-член) [edit]
Задаёт значения в контейнере
(public функция-член) [edit]
Задаёт значения в контейнере
(public функция-член) [edit]
Возвращает связанный аллокатор
(public функция-член) [edit]
Доступ к элементам
Предоставляет доступ к указанному элементу с проверкой индекса
(public функция-член) [edit]
Предоставляет доступ к указанному элементу
(public функция-член) [edit]
Предоставляет доступ к первому элементу
(public функция-член) [edit]
Предоставляет доступ к последнему элементу
(public функция-член) [edit]
Итераторы
Оригинал:
Iterators
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Возвращает итератор на первый элемент
(public функция-член) [edit]
Возвращает итератор на элемент, следующий за последним
(public функция-член) [edit]
Возвращает обратный итератор на первый элемент
(public функция-член) [edit]
Возвращает обратный итератор на элемент, следующий за последним
(public функция-член) [edit]
Вместимость
Проверяет отсутствие элементов в контейнере
(public функция-член) [edit]
Возвращает количество элементов в контейнере
(public функция-член) [edit]
Возвращает максимально допустимое количество элементов в контейнере
(public функция-член) [edit]
Уменьшает использование памяти, высвобождая неиспользуемую
(public функция-член) [edit]
Модификаторы
Очищает контейнер
(public функция-член) [edit]
Вставляет элементы
Оригинал:
inserts elements
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(public функция-член) [edit]
(C++11)
конструирует элементы "на месте" и вставляет их
(public функция-член) [edit]
Удаляет элементы
(public функция-член) [edit]
Добавляет элемент в конец
(public функция-член) [edit]
Конструирует элементы "на месте" в конце контейнера
(public функция-член) [edit]
Удаляет последний элемент
(public функция-член) [edit]
вставляет элементы в начало списка
(public функция-член) [edit]
конструирует элементы "на месте" в начало списка
(public функция-член) [edit]
удаляет первый элемент
(public функция-член) [edit]
Изменяет количество хранимых элементов
(public функция-член) [edit]
Обменивает содержимое
(public функция-член) [edit]

[править] Не являющиеся членами функций

Лексикографически сравнивает значения в deque
(шаблон функции) [edit]
Специализированный std::swap алгоритм
(шаблон функции) [edit]