Namespaces
Variants
Views
Actions

std::vector::emplace

From cppreference.com
template< class... Args >
iterator emplace( const_iterator pos, Args&&... args );
(since C++11)

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.

Iterators and references to the elements between pos and the end of the container are invalidated.

Contents

[edit] Parameters

pos - iterator before which the new element will be constructed
args - arguments to forward to the constructor of the element

[edit] Return value

Iterator pointing to the emplaced element.

[edit] Complexity

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

[edit] Exceptions

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).

[edit] See also

inserts elements
(public member function) [edit]