std::max_align_t
Начиная с ru.cppreference.net
| Определён в заголовке <cstddef>
|
||
typedef /* implementation-defined */ max_align_t;
|
(начиная с C++11) | |
std::max_align_t — это стандартно-расположенный ТривиальныйТип(до C++26)ТривиальноКопируемый тип(начиная с C++26), чьё требование выравнивания является по меньшей мере столь же строгим (большим), как и для любого скалярного типа.
std::is_trivially_default_constructible_v<std::max_align_t> является true
Примечания
Указатели, возвращаемые функциями выделения памяти, такими как
std::malloc
, имеют подходящее выравнивание для любого объекта, что означает, что они выровнены как минимум так же строго, как
std::max_align_t
.
Пример
Запустить этот код
#include <cstddef> #include <iostream> int main() { std::cout << alignof(std::max_align_t) << '\n'; }
Возможный вывод:
16
Ссылки
- Стандарт C++23 (ISO/IEC 14882:2024):
-
- 17.2.4 Размеры, выравнивания и смещения [support.types.layout] (стр: 504-505)
- Стандарт C++20 (ISO/IEC 14882:2020):
-
- 17.2.4 Размеры, выравнивания и смещения [support.types.layout] (стр: 507-508)
- Стандарт C++17 (ISO/IEC 14882:2017):
-
- 21.2.4 Размеры, выравнивания и смещения [support.types.layout] (стр: 479)
- Стандарт C++14 (ISO/IEC 14882:2014):
-
- 18.2 Типы [support.types] (стр: 443-444)
- Стандарт C++11 (ISO/IEC 14882:2011):
-
- 18.2 Типы [support.types] (стр: 454-455)
Смотрите также
alignof
(C++11)
|
запрашивает требования к выравниванию типа
(оператор) |
|
(C++11)
|
получает требования к выравниванию типа
(шаблон класса) |
|
(C++11)
|
проверяет, является ли тип скалярным типом
(шаблон класса) |
|
Документация C
для
max_align_t
|
|