std::vector::insert
iterator insert( iterator pos, const T& value ); iterator insert( const_iterator pos, const T& value ); | (1) | (до C++11) (начиная с C++11) |
iterator insert( const_iterator pos, T&& value ); | (2) | (начиная с C++11) |
void insert( iterator pos, size_type count, const T& value ); iterator insert( const_iterator pos, size_type count, const T& value ); | (3) | (до C++11) (начиная с C++11) |
template<class InputIt > void insert( iterator pos, InputIt first, InputIt last); | (4) | (до C++11) (начиная с C++11) |
iterator insert( const_iterator pos, std::initializer_list<T> ilist ); | (5) | (начиная с C++11) |
Вставляет элементы в указанную позицию в контейнере.
1-2) Вставляет value
перед элементом, на который указывает pos
.
3) Вставляет count
копий value
перед элементом, на который указывает pos
.
4) Вставляет элементы из диапазона [first, last)
перед элементом, на который указывает pos
.
5) Вставляет элементы из списка инициализации ilist
.
Вызывает реаллокацию если новый size()
больше, чем старый capacity()
.
Если новый size()
больше, чем capacity()
, все итераторы и указатели становятся нерабочими. В противном случае, нерабочими становятся только итераторы и указатели на элементы, идущие после вставленных.
Содержание |
[править]Параметры
pos | — | Элемент, перед которым будет вставлено содержимое. |
value | — | Значение элемента для вставки Оригинал: element value to insert Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
first, last | — | Диапазон элементов для вставки. Не может задаваться итераторами на контейнер, в который производится вставка. |
ilist | — | Список инициализации для вставки из него. |
Требования к типам | ||
-InputIt должен соответствовать требованиям InputIterator . |
[править]Возвращаемое значение
1-2) Итератор, указывающий на вставленный value
.
3) Итератор, указывающий на первый вставленный элемент, или pos
если count==0.
4) Итератор, указывающий на первый вставленный элемент, или pos
если first==last.
5) Итератор, указывающий на первый вставленный элемент, или pos
если ilist
пуст.
[править]Сложность
1-2) Константа плюс линейная относительно расстояния между pos
и концом контейнера. 3) Линейная относительно count плюс линейная относительно расстояния между pos
и концом контейнера.
4) Линейная относительно std::distance(first, last) плюс линейная относительно расстояния между pos
и концом контейнера.
5) Линейная относительно ilist.size() плюс линейная относительно расстояния между pos
и концом контейнера.
[править]См. также
(C++11) | создаёт элемент на месте (public функция-элемент) |
добавляет элемент в конец (public функция-элемент) |