explicit dynarray( size_type count ); | (1) | (since C++14) |
template< class Alloc > dynarray( size_type count, const Alloc& alloc ); | (2) | (since C++14) |
dynarray( size_type count, const T& value ); | (3) | (since C++14) |
template< class Alloc > dynarray( size_type count, const T& value, const Alloc& alloc ); | (4) | (since C++14) |
dynarray( const dynarray& other ); | (5) | (since C++14) |
template< class Alloc > dynarray( const dynarray& other, const Alloc& alloc ); | (6) | (since C++14) |
dynarray( std::initializer_list<T> init ); | (7) | (since C++14) |
template< class Alloc > dynarray( std::initializer_list<T> init, const Alloc& alloc ); | (8) | (since C++14) |
Constructs a new container from a variety of data sources, optionally using user supplied allocator alloc
. If an allocator is provided, all memory allocations are done through it. Otherwise, the memory is allocated from an unspecified source, which may, or may not, invoke the global operator new
. This way, additional optimization opportunities are possible, for example, using stack-based allocation.
1-2) Constructs the container with
count
default-initialized (or constructed by specified allocator) instances of T
. No copies are made. 3-4) Constructs the container with
count
copies of elements with value value
. T
must meet the requirements of CopyConstructible
. 5-6) Copy-constructor. Constructs the container with the copy of the contents of
other
. T
must meet the requirements of CopyConstructible
. 7-8) Constructs the container with the contents of the initializer list
init
.Parameters
alloc | - | allocator to use for the memory allocations of this container |
count | - | the size of the container |
value | - | the value to initialize elements of the container with |
other | - | another container to be used as source to initialize the elements of the container with |
init | - | initializer list to initialize the elements of the container with |
Type requirements | ||
- Alloc must meet the requirements of Allocator . |
Complexity
1-4) Linear in
count
5-6) Linear in
other.size()
7-8) Linear in size of
init
Exceptions
1-4)
std::bad_alloc
if there's insufficient memory. std::bad_array_length
if count
is above the implementation-defined limits. 5-8)
std::bad_alloc
if there's insufficient memory.
Please login to continue.