static_assert
From cppreference.net
|
헤더 파일에 정의됨
<assert.h>
|
||
|
#define static_assert _Static_assert
|
(C11부터)
(C23에서 제거됨) |
|
이 편의성 매크로는 키워드 _Static_assert 로 확장됩니다.
목차 |
예제
이 코드 실행하기
#include <assert.h> int main(void) { static_assert(2 + 2 == 4, "2+2 isn't 4"); // 올바른 형식 static_assert(sizeof(int) < sizeof(char), // 컴파일 타임 오류 "this program requires that int is less than char"); }
참고 사항
C23 이후로, static_assert 는 그 자체로 키워드이며, 사전 정의된 매크로일 수도 있으므로 <assert.h> 는 더 이상 이를 제공하지 않습니다.
참고문헌
- C23 표준 (ISO/IEC 9899:2024):
-
- 7.2/3 진단 <assert.h> (p: TBD)
- C17 표준 (ISO/IEC 9899:2018):
-
- 7.2/3 진단 <assert.h> (p: 135)
- C11 표준 (ISO/IEC 9899:2011):
-
- 7.2/3 진단 <assert.h> (p: 186)
참고 항목
|
C++ 문서
for
Static Assertion
|