void* allocate( std::size_t bytes, std::size_t alignment = alignof(std::max_align_t) );
| (since C++17) |
[[nodiscard]] void* allocate( std::size_t bytes, std::size_t alignment = alignof(std::max_align_t) );
Allocates storage with a size of at least
bytes bytes, aligned to the specified
return do_allocate(bytes, alignment);.
Throws an exception if storage of the requested size and alignment cannot be obtained.
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
|DR||Applied to||Behavior as published||Correct behavior|
|LWG 2843||???||over-alignment was allowed to be unsupported||alignment must be honoured|
| allocates memory
(virtual private member function)
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.