반응형
C++ 11에 추가된 것으로 기존 assert이 실행 시간에 오류를 검증하는데 비하여 static_assert은 컴파일 타임에 오류를 검증합니다. static_assert은 컴파일 타임에 오류를 검증할 수 없는 변수 값을 대입하는 경우 상수 값이 있어야 한다는 오류를 냅니다. 이런 특성을 가진 관계로 주로 템플릿 프로그래밍에서 타입 체크 등에서 사용됩니다. 비주얼 스튜디오에서는 코드 작성 중에 static_assert이 false일 경우 표시를 해주어서 편합니다.
사용 예는 아래와 같습니다.
static_assert(1<2);
char value = 'A';
static_assert(is_same<decltype(value), char>::value, "");
반응형
'C++ 프로그래밍' 카테고리의 다른 글
동적 라이브러리(DLL)를 사용할 것인가? 아니면 정적 라이브러리(LIB)를 사용할 것인가? (1) | 2021.11.18 |
---|---|
C++ chrono system_clock과 steady_clock의 이해 및 차이점 (0) | 2021.11.10 |
C/C++ __FUNCTION__, __FILE__의 유니코드 버전 (0) | 2021.11.01 |
C++ invoke_result: return type 알아내기 (0) | 2021.10.31 |
error C3520: 'args': 이 컨텍스트에서 매개 변수 팩을 확장해야 합니다. (0) | 2021.10.28 |
C++ optional의 활용 (0) | 2021.10.24 |
C++에서 stderr로 출력하기 (0) | 2021.10.11 |
C++ wstring용 가변인자 포맷(format) 스트링 만들기 (0) | 2021.10.08 |