From cppreference.com
void*allocate(std::size_tbytes,std::size_talignment=alignof(std::max_align_t));(since C++17)Allocates storage with a size of at least bytes bytes, aligned to the specified alignment.
Equivalent to returndo_allocate(bytes,alignment);.
Exceptions
Throws an exception if storage of the requested size and alignment cannot be obtained.
Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
DR Applied to Behavior as published Correct behavior
C++17 over-alignment was allowed to be unsupported alignment must be honoured See also