std:: max_align_t
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Basic types | |||||||||||
| Fixed width integer types (C++11) | |||||||||||
| Fixed width floating-point types (C++23) | |||||||||||
| Numeric limits | |||||||||||
| C numeric limits interface | |||||||||||
| Runtime type information | |||||||||||
|
|||||||||||
|
Определено в заголовочном файле
<cstddef>
|
||
|
typedef
/* implementation-defined */
max_align_t
;
|
(начиная с C++11) | |
std::max_align_t
является
стандартным компоновочным
TrivialType
(до C++26)
TriviallyCopyable
типом
(начиная с 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
|
|