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

std::vector::emplace

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

template< class... Args >
iterator emplace( const_iterator pos, Args&&... args );
(начиная с C++11)
Вставляет новый элемент в контейнере непосредственно перед pos. Элемент построен на месте, т.е. не копировать или перемещать операции. Конструктор элемента вызывается с std::forward<Args>(args)... аргументы. Тип элемента должно быть EmplaceConstructible, MoveInsertable and MoveAssignable.
Оригинал:
Inserts a new element into the container directly before pos. The element is constructed in-place, i.e. no copy or move operations are performed. The constructor of the element is called with the arguments std::forward<Args>(args).... The element type must be EmplaceConstructible, MoveInsertable and MoveAssignable.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

Если новый size() больше, чем capacity(), все итераторы и указатели становятся нерабочими. В противном случае, нерабочими становятся только итераторы и указатели на элементы, идущие после вставленных.

Содержание

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

pos -
Итератор, перед которой новый элемент будет построен
Оригинал:
iterator before which the new element will be constructed
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
args -
Аргументы направить в конструкторе элемента
Оригинал:
arguments to forward to the constructor of the element
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

[править] Возвращаемое значение

Итератор, указывающий на элемент заложенных.
Оригинал:
Iterator pointing to the emplaced element.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

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

Linear in the distance between pos and end of the container.

[править] Исключения

Если исключение (например, в конструкторе), контейнер остается без изменений, как если бы эта функция никогда не называли (сильная гарантия исключением).
Оригинал:
If an exception is thrown (e.g. by the constructor), the container is left unmodified, as if this function was never called (strong exception guarantee).
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

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

Вставляет элементы
Оригинал:
inserts elements
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(public функция-член) [edit]