T* allocate( std::size_t n );
(since C++17)
(until C++20)
[[nodiscard]] T* allocate( std::size_t n );
(since C++20)

Allocates storage for n objects of type T using the underlying memory resource. Equivalent to return static_cast<T*>(resource()->allocate(n * sizeof(T), alignof(T)));.


n - the number of objects to allocate storage for

Return value

A pointer to the allocated storage.


Throws std::length_error if n > SIZE_MAX / sizeof(T); may also any exceptions thrown by the call to resource()->allocate.

See also

Allocate raw aligned memory from the underlying resource
(public member function)
Allocates raw memory suitable for an object or an array
(public member function)
Allocates and constructs an object
(public member function)
allocates uninitialized storage using the allocator
(public static member function of std::allocator_traits<Alloc>)
allocates memory
(public member function of std::pmr::memory_resource)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.