std:: align_val_t
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Functions | ||||
|
(C++11)
|
||||
| Classes | ||||
|
(C++11)
|
||||
|
align_val_t
(C++17)
|
||||
| Types | ||||
| Objects | ||||
|
(C++20)
|
||||
| Object access | ||||
|
(C++17)
|
|
Определено в заголовочном файле
<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) | Динамическое выделение памяти для выровненных данных |
Смотрите также
|
функции выделения памяти
(функция) |
|
|
функции освобождения памяти
(функция) |