26 Containers library [containers]

26.3 Sequence containers [sequences]

26.3.11 Class template vector [vector]

26.3.11.5 vector modifiers [vector.modifiers]

iterator insert(const_iterator position, const T& x); iterator insert(const_iterator position, T&& x); iterator insert(const_iterator position, size_type n, const T& x); template <class InputIterator> iterator insert(const_iterator position, InputIterator first, InputIterator last); iterator insert(const_iterator position, initializer_list<T>); template <class... Args> reference emplace_back(Args&&... args); template <class... Args> iterator emplace(const_iterator position, Args&&... args); void push_back(const T& x); void push_back(T&& x);

Remarks: Вызывает перераспределение, если новый размер больше старого. Перераспределение делает недействительными все ссылки, указатели и итераторы, относящиеся к элементам в последовательности. Если перераспределения не происходит, все итераторы и ссылки до точки вставки остаются действительными. Если исключение создается не конструктором копирования, конструктором перемещения, оператором присваивания или оператором присваивания перемещения T или какой-либо InputIterator операцией, эффекты отсутствуют. Если при вставке одного элемента в конце возникает исключение, которое T есть CopyInsertable или is_­nothrow_­move_­constructible_­v<T> есть true, никаких эффектов нет. В противном случае, если конструктор перемещения не-CopyInsertable T, генерирует исключение , эффекты не определены.

Complexity: Сложность линейна по количеству вставленных элементов плюс расстояние до конца вектора.

iterator erase(const_iterator position); iterator erase(const_iterator first, const_iterator last); void pop_back();

Effects: Делает недействительными итераторы и ссылки в точке стирания или после нее.

Complexity: Деструктором объекта T называется количество раз, равное количеству стертых элементов, а оператором присваивания T вызывается количество раз, равное количеству элементов в векторе после стертых элементов.

Throws: Ничего, если оператор присваивания или оператор присваивания перемещения не генерирует исключение T.