std::max_align_t
cppreference.net에서
| 헤더 <cstddef>
|
||
typedef /* implementation-defined */ max_align_t;
|
에 정의됨 (C++11부터) | |
std::max_align_t은 표준 배치(standard-layout) 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] (p: 504-505)
- C++20 표준 (ISO/IEC 14882:2020):
-
- 17.2.4 크기, 정렬 및 오프셋 [support.types.layout] (p: 507-508)
- C++17 표준 (ISO/IEC 14882:2017):
-
- 21.2.4 크기, 정렬 및 오프셋 [support.types.layout] (p: 479)