L'en-tête iso646.h fait partie de la bibliothèque standard du C. Il a été ajouté à la bibliothèque par un amendement de la norme ANSI C90. Il définit un certain nombre de macros qui permettent au programmeur d'écrire des opérateurs logiques et bit-à-bit du langage C qui, sans ces macros, ne peuvent pas être tapés rapidement sur certains claviers internationaux ou non-QWERTY.

Le nom du fichier fait référence à la norme ISO 646, une norme de codage des caractères sur 7 bits avec des variations régionales, dont certaines ont des caractères accentués à la place de la ponctuation utilisée par les opérateurs du langage C.

Les macros

modifier

L'en-tête iso646.h définit les 11 macros suivantes :

Macro Définit comme
and &&
and_eq &=
bitand &
bitor |
compl ~
not !
not_eq !=
or ||
or_eq |=
xor ^
xor_eq ^=

Ces identifiants sont des opérateurs directement implémentés dans le langage C++ et ne nécessitent donc pas l'inclusion de l'en-tête. Par souci de cohérence, la norme C++98 met l'en-tête <ciso646> à disposition des utilisateurs. Cependant, étant vide, ce dernier n'a aucun effet, sinon éviter une éventuelle erreur de compilation[1].

Références

modifier
  1. (en) Ray Lischner, C++ in a Nutshell, Péking, O'Reilly Media, , 1re éd., 791 p., poche (ISBN 978-0-596-00298-5, LCCN 2004300905), p. 212