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

std::deque::deque

Материал из cppreference.com
< cpp‎ | container‎ | deque
 
 
 
std :: deque
Член функций
Оригинал:
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
 
explicit deque( const Allocator& alloc = Allocator() );
(1)
explicit deque( size_type count,

                const T& value = T(),
                const Allocator& alloc = Allocator());
         deque( size_type count,
                const T& value,

                const Allocator& alloc = Allocator());
(2) (до C++11)


(начиная с C++11)
explicit deque( size_type count );
(3) (начиная с C++11)
template< class InputIt >

deque( InputIt first, InputIt last,

       const Allocator& alloc = Allocator() );
(4)
deque( const deque& other );
(5)
deque( const deque& other, const Allocator& alloc );
(5) (начиная с C++11)
deque( deque&& other )
(6) (начиная с C++11)
deque( deque&& other, const Allocator& alloc );
(6) (начиная с C++11)
deque( std::initializer_list<T> init,
       const Allocator& alloc = Allocator() );
(7) (начиная с C++11)

Создает новый контейнер из разнообразных источников данных, возможно, используя предоставленный пользователем аллокатор alloc.

1) Конструктор по умолчанию. Создает пустой контейнер.
2) Создает контейнер с count копиями элемента со значением value.
3) Создает контейнер с count экземплярами T, инициализированными конструктором по-умолчанию. При этом копирования не происходит.
4) Создает контейнер с содержимым диапазона [first, last).
5) Конструктор копирования. Создает контейнер с копией содержимого other. Если alloc не задан, аллокатор будет получен вызовом std::allocator_traits<allocator_type>::select_on_copy_construction(other).
6) Конструктор перемещения. Создает контейнер с содержимым other путём перемещения данных. Если alloc не задан, аллокатор будет получен перемещением аллокатора other.
7) Создает контейнер с содержимым списка инициализации init.

Содержание

[править] Параметры

alloc - Аллокатор, используемый для всех выделений памяти в контейнере.
count - Размер контейнера.
value - Значение, которым будут инициализированы элементы контейнера.
first, last - Диапазон, из которого копируются элементы.
other - другой контейнер, который будет использоваться в качестве источника для инициализации элементов контейнера.
init - список инициализации элементов контейнера.
Требования к типам
-
InputIt должен соответствовать требованиям InputIterator.

[править] Сложность

1) Константа.
2-3) Линейная относительно count.
4) Линейная относительно расстояния между first и last.
5) Линейная относительно размера other
6) Константа. Если alloc задан и alloc != other.get_allocator(), то линейная.
7) Линейная относительно размера init

[править] Пример

#include <deque>
#include <string>
 
int main()
{
    // c++11 initializer list syntax:
    std::deque<std::string> words1 {"the", "frogurt", "is", "also", "cursed"};
 
    // words2 == words1
    std::deque<std::string> words2(words1.begin(), words1.end());
 
    // words3 == words1
    std::deque<std::string> words3(words1);
 
    // words4 is {"Mo", "Mo", "Mo", "Mo", "Mo"}
    std::deque<std::string> words4(5, "Mo");
 
    return 0;
}


[править] См. также

Задаёт значения в контейнере
(public функция-член) [edit]
Задаёт значения в контейнере
(public функция-член) [edit]