std::allocator_traits<Alloc>::allocate
Header: <memory>
Uses the allocator a to allocate n * sizeof(Alloc::value_type) bytes of uninitialized storage. An array of type Alloc::value_type[n] is created in the storage, but none of its elements are constructed.
# Declarations
static pointer allocate( Alloc& a, size_type n );
(since C++11) (constexpr since C++20)
static pointer allocate( Alloc& a, size_type n, const_void_pointer hint );
(since C++11) (constexpr since C++20)
# Parameters
a: allocator to usen: the number of objects to allocate storage forhint: pointer to a nearby memory location
# Return value
The pointer returned by the call to a.allocate(n).
# Notes
Alloc::allocate was not required to create array object until P0593R6, which made using non-default allocator for std::vector and some other containers not well-defined according to a strict reading of the core language specification.
After calling allocate and before construction of elements, pointer arithmetic of Alloc::value_type* is well-defined within the allocated array, but the behavior is undefined if elements are accessed.
# Example
This section is incompleteReason: no example