Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of Boost. Click here to view this page for the latest version.
PrevUpHomeNext
array::emplace_back

Append a constructed element in-place.

Synopsis
template<
    class Arg>
value&
emplace_back(
    Arg&& arg);
Description

Appends a new element to the end of the container's list of elements. The element is constructed using placement-new with the parameter std::forward<Arg>(arg). If capacity() < size() + 1, a reallocation occurs first, and all iterators and references are invalidated. Otherwise, only the iterators and references from the insertion point forward are invalidated. All past-the-end iterators are also invalidated.

Complexity

Amortized constant.

Exception Safety

Strong guarantee. Calls to memory_resource::allocate may throw.

Parameters

Name

Description

arg

The argument to forward to the value constructor.

Return Value

A reference to the inserted element


PrevUpHomeNext