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

std::vector::vector

Материал из cppreference.com
< cpp‎ | container‎ | vector
 
 
 
std::vector
Функции-члены
vector::vector
vector::~vector
vector::operator=
vector::assign
vector::get_allocator
Элемент доступа
Оригинал:
Element access
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
vector::at
vector::operator[]
vector::front
vector::back
vector::data(C++11)
Итераторы
Оригинал:
Iterators
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
vector::begin
vector::cbegin

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

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

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

(C++11)
Потенциала
Оригинал:
Capacity
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
vector::empty
vector::size
vector::max_size
vector::reserve
vector::capacity
vector::shrink_to_fit(C++11)
Модификаторы
vector::clear
vector::insert
vector::emplace(C++11)
vector::erase
vector::push_back
vector::emplace_back(C++11)
vector::pop_back
vector::resize
vector::swap
 
explicit vector( const Allocator& alloc = Allocator() );
(1)
explicit vector( size_type count,

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

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


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

vector( InputIt first, InputIt last,

        const Allocator& alloc = Allocator() );
(4)
vector( const vector& other );
(5)
vector( const vector& other, const Allocator& alloc );
(5) (начиная с C++11)
vector( vector&& other )
(6) (начиная с C++11)
vector( vector&& other, const Allocator& alloc );
(6) (начиная с C++11)
vector( 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 <vector>
#include <string>
 
int main()
{
    // c++11 initializer list syntax:
    std::vector<std::string> words1 {"the", "frogurt", "is", "also", "cursed"};
 
    // words2 == words1
    std::vector<std::string> words2(words1.begin(), words1.end());
 
    // words3 == words1
    std::vector<std::string> words3(words1);
 
    // words4 is {"Mo", "Mo", "Mo", "Mo", "Mo"}
    std::vector<std::string> words4(5, "Mo");
 
    return 0;
}


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

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