Namespaces
Variants

std:: align_val_t

From cppreference.net
< cpp ‎ | memory ‎ | new
Utilities library
Memory management library
( exposition only* )
Allocators
Uninitialized memory algorithms
Constrained uninitialized memory algorithms
Memory resources
Uninitialized storage (until C++20)
( until C++20* )
( until C++20* )
( until C++20* )

Garbage collector support (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
Определено в заголовочном файле <new>
enum class align_val_t : std:: size_t { } ;
(начиная с C++17)

Как new-expression , так и delete-expression , при использовании с объектами, требование выравнивания которых превышает __STDCPP_DEFAULT_NEW_ALIGNMENT__ , передают это требование выравнивания в качестве аргумента типа std::align_val_t в выбранную функцию выделения/освобождения памяти.

Примечания

Выравнивание (как полученное с помощью alignof ) имеет тип std::size_t , но размещающие формы функций выделения и освобождения памяти, принимающие std::size_t в качестве дополнительного параметра, уже используются, поэтому вместо этого применяется данный тип.

Макрос тестирования возможностей Значение Стандарт Возможность
__cpp_aligned_new 201606L (C++17) Динамическое выделение памяти для выровненных данных

Смотрите также

функции выделения памяти
(функция)
функции освобождения памяти
(функция)