Namespaces
Variants

std::align_val_t

С ru.cppreference.net
< cpp | memory | new
 
 
Библиотека утилит
Поддержка языка
Поддержка типов (основные типы, RTTI)
Макросы тестирования функциональности библиотеки (C++20)
Программные утилиты
Функции с переменным числом аргументов
Поддержка корутин (C++20)
Поддержка контрактов (C++26)
Трёхстороннее сравнение
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Общие утилиты
Операторы отношения (устарело в C++20)
 
Библиотека управления памятью
Распределители
Ресурсы памяти
Непроинициализированное хранилище (до C++20*)
Поддержка сборщика мусора (до C++23)
 
 
Определён в заголовке <new>
enum class align_val_t : std::size_t {};
(начиная с C++17)

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

Примечания

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

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

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

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