`_Alignof` 키워드
_Alignof 키워드
어떤 타입이 메모리에서 몇 바이트 단위로 정렬돼야 하는지, 그 정렬 요구(alignment requirement) 를 궁금해할 때가 있어요. 그 값을 직접 물어볼 때 쓰는 키워드가 _Alignof예요. C23부터는 alignof라는 이름을 써요.
출처: cppreference
본문
_Alignof는 C11부터 도입된 정렬 요구 연산자(aligment operator) 키워드예요. 타입의 정렬 값을 size_t로 돌려줘요.
- C23에서
alignof키워드로 대체되면서_Alignof는 폐기(deprecated)됐어요.
사용
_Alignof는 다음과 같이 사용해요 (since C11).
size_t a = _Alignof(struct sse_t); // 16
더 알아보기
- 정렬 요구를 설정하는 키워드
_Alignas/alignas와 짝을 이뤄요. - 정렬(alignment)의 개념 자체는 객체와 정렬 문서에서 더 자세히 볼 수 있어요.
- cppreference의 _Alignof 원문을 참고해요.