iso646.h è l'header file della libreria standard del C che definisce alcune macro relative agli operatori bitwise e logici.
Sono un set di token alternativi che consentono di scrivere in modo diverso alcuni operatori comuni del linguaggio di programmazione C. Permettono inoltre ai programmatori di usare gli operatori bitwise e logici i quali potrebbero altrimenti essere difficili da digitare su alcune tastiere internazionali oppure non-QWERTY.
Questi token sono stati creati da Bjarne Stroustrup nella bozza dello standard del linguaggio C++[1] e poi sono stati aggiunti definitivamente in un emendamento allo standard C90 del 1995 tramite libreria per evitare di corrompere il codice già scritto.
Il nome dell'header, in cui sono implementati, si riferisce allo standard ISO/IEC 646, un set di caratteri a 7 bit con un numero di variazioni regionali, dove alcuni di essi hanno caratteri accentati al posto dei segni di punteggiatura utilizzati dagli operatori del linguaggio C.
Sono definite le seguenti 11 macro:[2]
Macro | Definita come |
---|---|
and |
&&
|
and_eq |
&=
|
bitand |
&
|
bitor |
|
|
compl |
~
|
not |
!
|
not_eq |
!=
|
or |
||
|
or_eq |
|=
|
xor |
^
|
xor_eq |
^=
|
Gli identificatori sopramenzionati sono operator keywords, nel linguaggio di programmazione ISO C++ non richiedono l'inclusione del file header.[3] Per coerenza, lo standard C++98 fornisce l'header <ciso646>
, anche se quest'ultimo non ha effetti, essendo vuoto.[4] Alcuni compilatori, come Microsoft Visual C++ hanno, almeno in passato, richiesto che tale header venisse incluso per poter utilizzare questi identificatori.