## `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.

### Return Value

A reference to the inserted element

### Parameters

Name | Description
--- | ---
`arg` | The argument to forward to the `value` constructor.

Edit this page