C alternative tokens

From Wikipedia, the free encyclopedia
  (Redirected from Iso646.h)
Jump to: navigation, search

C alternative tokens refer to a set of alternative spellings of common operators in the C programming language. They are implemented as a group of macro constants in the C standard library in the iso646.h header. The tokens were added to the standard in a 1995 amendment to the C90 standard.

The alternative tokens allow programmers to use C language bitwise and logical operators which could otherwise be hard to type on some international and non-QWERTY keyboards. The name of the header file they are implemented in refers to the ISO/IEC 646 standard, a 7-bit character set with a number of regional variations, some of which have accented characters in place of the punctuation marks used by C operators.

The macros[edit]

The iso646.h header defines the following 11 macros as stated below:

Macro Defined as
and &&
and_eq &=
bitand &
bitor |
compl ~
not !
not_eq !=
or ||
or_eq |=
xor ^
xor_eq ^=


The above-mentioned identifiers are operator keywords in the ISO C++ programming language and do not require the inclusion of a header file. For consistency, the C++98 standard provides the header <ciso646>. However the latter file has no effect, being empty.[1] Notwithstanding some compilers, such as Microsoft Visual C++, do require the header to be included in order to use these identifiers.

See also[edit]


  1. ^ Lischner, Ray (2003). C++ in a Nutshell. O'Reilly Media. p. 212. ISBN 0-596-00298-X. 

External links[edit]