표준 라이브러리 헤더 <iso646.h>

표준 라이브러리 헤더 <iso646.h> (C95)

C 코드에는 &&, ||, ! 같은 연산자 문자가 많아요. 그런데 일부 문자 집합에는 이런 기호가 없어서 코드를 옮겨 적기 어려운 환경이 있어요. <iso646.h>는 이런 상황을 위해 연산자의 대체 철자(alternative spelling) 매크로를 정의한 헤더예요. 즉 and라고 쓰면 &&로, or라고 쓰면 ||로 바꿔주는 매크로들이죠.

출처: cppreference

본문

시그니처(Synopsis)

#define and &&
#define and_eq &=
#define bitand &
#define bitor |
#define compl ~
#define not  !
#define not_eq  !=
#define or ||
#define or_eq |=
#define xor ^
#define xor_eq ^=

주의할 점(Notes)

이 헤더는 C++에서는 의미가 없어요. 이 매크로 이름들이 C++에서는 키워드로 존재해서 조건 없이 항상 쓸 수 있기 때문이죠. 반대로 C에서는 이 헤더를 포함해야만 and, or 같은 이름을 쓸 수 있어요.

더 알아보기

  • 연산자 우선순위와 의미는 언어의 연산자(operator precedence) 문서에서 확인해요.