Spec-Zone.ru › C++

std::max_align_t

Определён в заголовочном файле <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) запрашивает требования к выравниванию типа
(оператор)
alignment_of
(C++11)
получает требования к выравниванию типа
(шаблон класса)
is_scalar
(C++11)
проверяет, является ли тип скалярным
(шаблон класса)
Документация по C для max_align_t

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/types/max_align_t

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API