iso646.h
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.
Le macro
[modifica | modifica wikitesto]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 |
^=
|
C++
[modifica | modifica wikitesto]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.
Note
[modifica | modifica wikitesto]- ^ (EN) CppCon 2017: Panel “Grill the Committee”, su youtube.com.
- ^ (EN) Rationale for International Standard - Programming Languages - C (PDF), su open-std.org, Aprile 2003. URL consultato il 17 ottobre 2010 (archiviato il 6 giugno 2016).
- ^ Bjarne Stroustrup, Design and Evolution of C++, 1a, Addison-Wesley Publishing Company, 23 marzo 1994, ISBN 0-201-54330-3.
- ^ Ray Lischner, C++ in a Nutshell, O'Reilly Media, 2003, p. 212, ISBN 0-596-00298-X.
Voci correlate
[modifica | modifica wikitesto]Collegamenti esterni
[modifica | modifica wikitesto]- (EN) iso646.h da The Open Group Base Specifications Issue 7
- (EN) ISO 646 Alternative operator spellings, su cplusplus.com. URL consultato il 4 luglio 2012 (archiviato dall'url originale il 2 luglio 2012).
- Daniele Giacomini, Libreria C, con qualche estensione POSIX, su Appunti di informatica libera, a2.pluto.it.