<li>contrairement au C, les char sont des char en C++ (force du typage oblige) mais les exemples deNitRic sont correctes (conversions implicites).</li>
<li>un char ne fais pas 8 bits mais CHAR_BIT bits (sinon comment le C ou le C++ pourraient etre portable ??).</li>
<li>le codage utilisé n'est pas forcement l'ascii (sur 7 bits), donc l'écriture {97, 98, 99, 0} n'est pas portable (sauf pour le 0 qui est fixé par la norme).
</li>
heu ... 8bits == 1byte et d'après ce que je sais, un char == 1 octet(byte), non !?
pour le `typage` je suis d'accord, je ne code pas en C++ et j'ai pas fait attention
pour l'ascii je suis encore d'accord mais ce n'était qu'un exemple, désolé
Oui un char est un byte, mais la notion de byte est particulière
en C et en C++ (la traduction correcte serait plutot multiplet) car
pour des raison de portabilité le char désign l'unité atomique
d'adressage de la machine et sizeof(char) est fixé à 1 (sizeof
retourne une taille en char - byte C/C++ - et non en octet).
Par exemple le poids en bits d'un entier de maniere portable est sizeof(int)*CHAR_BIT.
Il me semble que le C avais été développé sur une machine qui n'adressait que des mots (16bits) donc un char pesait 16 bits.