더북(TheBook)

TAKEAWAY 8.6 전처리기 조건문은 매크로와 정수 리터럴만 평가할 수 있다.

전처리기 조건문은 모르는 식별자를 0으로 평가하도록 하는 부가 기능도 제공한다. 가령 앞의 예제에서 __STDC_LIB_EXT1__을 모르더라도 표현식은 정상적으로 처리된다.

TAKEAWAY 8.7 전처리기 조건문은 모르는 식별자를 0으로 평가한다.

좀 더 복잡한 조건문을 검사하고 싶다면 (키워드인) _Static_assert나 (assert.h 헤더에서 제공하는 매크로인) static_assert를 사용해도 똑같은 효과를 볼 수 있다. 예를 들면 다음과 같다.

#include <assert.h>
static_assert(sizeof(double) == sizeof(long double),
" 수렴하려면 정밀도를 높여야 한다.");
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.