Defined in header <new>
enum class align_val_t : std::size_t {};
(since C++17)

Both new-expression and delete-expression, when used with objects whose alignment requirement is greater than __STDCPP_DEFAULT_NEW_ALIGNMENT__, pass that alignment requirement as an argument of type std::align_val_t to the selected allocation/deallocation function.


Alignment (as obtained by alignof) has the type std::size_t, but placement forms of allocation and deallocation functions that take std::size_t as an additional parameter are already in use, so this type is used instead.

See also

allocation functions
deallocation functions

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