Différences entre les versions de « Programmation C++/Les types de base et les déclarations »

→‎Les caractères : Ce paragraphe contient bien feu Programmation C++ (débutant)/Les types de base, je vais pouvoir dormir tranquille
(→‎Les caractères : Ce paragraphe contient bien feu Programmation C++ (débutant)/Les types de base, je vais pouvoir dormir tranquille)
Ce chapitre traite des types de bases utiles pour représenter des caractères.
Toutefois les caractères sont rarement utilisés seuls, surtout dans les applications Unicode.
A ce sujet, vous trouverez dans le suite de cet ouvrage les chapitres suivants :
* [[Programmation_C%2B%2BProgrammation C++/La_librairie_standard#Les_cha.C3.AEnes_de_caract.C3.A8resLes chaînes de caractères]]
* [[Programmation_C%2B%2BProgrammation C++/Les_tableaux#Les_tableaux_de_caract.C3.A8resLes tableaux de caractères]]
 
==== Le type char ====
Il s'agit du type historique pour représenter un caractère. Bien que le type char fasse penser à un caractère (''character'' en anglais), il désigne souvent de facto un octet, qui peut être signé ou non signé suivant le compilateur. C'est l'un des concepts que le C++ a repris du langage C. Aucun système de représentation n'est imposé pour les caractères et on utilise en général des dérivés (8 bits) du code ASCII (qui est un code sept bits). {{refnec|Un caractère doit juste être codé sur au moins 8 bits.}}
 
==== Les types signed char et unsigned char ====
Lorsqu'on transfère un char dans un int, peut-on récupérer une valeur négative ? La réponse est oui si on utilise le type '''signed char''' et non si on utilise le type '''unsigned char'''. Ces types peuvent être utile losqu'onlorsqu’on manipule des caractères non ASCII.
 
Pour les donéesdonnées de type char, lorsque ni signed ni unsigned ne sont précisés, le choix entre les deux est fait par le compilateur.
Dans tous les cas à l'époque ou seuls les codages ASCII et autre codages ISO-646 étaient utilisés cela n'avait pas d'importance.