Chapitreun
conceptsdebase
SystèmedetypesC++
EnC++,lesdonnéessontstockéesetmanipuléesàl'aidededifférentstypesdedonnées.Cestypesde
donnéesdéterminentlatailleetladispositiondelamémoireutiliséeparlesvariables,ainsique
l'ensembledesopérationspouvantêtreeffectuéessurcelles-ci.
C++possèdeunsystèmedetyperichequiinclutàlafoisdestypesintégrésetdestypesdéfinispar
l'utilisateur.
Lestypesintégrésincluent:
Typesentiers:ilsreprésententdesnombresentiersetincluent char , short , int , long et long
long .Chacundecestypesaunetailledifférente,l' omblechevalier étantlepluspetitet long
étantleplusgrand.
Typesàvirguleflottante:ilsreprésententdesnombresavecdespartiesfractionnaireset
incluent float , double et longdouble .Cestypesontégalementdestaillesdifférentes,le flotteur
étantlepluspetitet ledoublelong étantleplusgrand.
Typebooléen:celareprésenteunevaleurvrai/fauxetestreprésentéparletype booléen .
Typesdecaractères:ilsreprésententdescaractèresindividuelsetincluent char et wchar_t .
char estutilisépourlescaractèresASCIIet wchar_t estutilisépourlescaractèreslarges,qui
peuventreprésenterdescaractèresd'unevariétéd'alphabetsdifférents.
Lestypesdéfinisparl'utilisateurenC++incluent:
Classes:uneclasseestuntypededonnéesdéfiniparl'utilisateurquivouspermetdedéfinir
vospropreschampsdedonnéesetméthodes.
Structures:unestructureestsimilaireàuneclasse,maisleschampsdedonnéesetles
méthodessontpublicspardéfaut.
Énumérations:uneénumérationestuntypedéfiniparl'utilisateurquisecomposed'un
ensembledeconstantesnommées.
Typedef:Lemot-clé typedef vouspermetdedéfinirunnouveaunompouruntypededonnées
existant.Celapeutêtreutilisépourcréerdesnomspluslisiblesouexpressifspourlestypes
complexes.
C++prendégalementenchargelaconversiondetype,cequivouspermetdeconvertirunevaleurd'un
typededonnéesàunautre.Celapeutêtreutilelorsquevoustravaillezavecdifférentstypesdedonnées
quidoiventêtreutilisésensemble,maisdesprécautionsdoiventêtrepriseslorsdel'utilisationdela
conversiondetype,carcelapeutentraînerunepertedeprécisionoud'autrescomportementsinattendus
s'ilsnesontpasutiliséscorrectement.
Portée
EnC++,laportéed'unevariablefaitréférenceàlapartieduprogrammedanslaquellelavariableest
visibleouaccessible.Laportéed'unevariableestdéterminéeparl'emplacementdesadéclarationdansle
programme.
IlexistedeuxprincipauxtypesdeportéeenC++:laportéelocaleetlaportéeglobale.
Unevariablelocaleestunevariabledéclaréedansunefonctionouunblocdecode.Lesvariableslocales
nesontvisiblesqu'àl'intérieurdelafonctionoudublocdanslequelellessontdéclarées,etellesnesont
accessiblesquedupointdeleurdéclarationàlafindubloc.Lorsquelafonctionouleblocsetermine,la
variablelocaleestdétruiteetn'estplusaccessible.
Unevariableglobaleestunevariabledéclaréeendehorsdetoutefonctionoublocdecode.Lesvariables
globalessontvisiblesdanstoutleprogrammeetsontaccessiblesdepuisn'importequellefonctionoubloc
decode.Cependant,ilestgénéralementconsidérécommeunebonnepratiquedeprogrammationde
minimiserl'utilisationdevariablesglobales,carellespeuventrendreleprogrammeplusdifficileà
comprendreetàmaintenir.
C++prendégalementenchargelesétenduesimbriquées,oùunblocdecodeestdéfinidansunautre
blocdecode.Danscecas,lesvariablesdéclaréesdansleblocinternenesontvisiblesquedanscebloc,
maisellessontégalementaccessiblesdepuisleblocexterne.
Laportéed'unevariableestunconceptimportantenC++,carelledéterminelavisibilitéetl'accessibilité
delavariabledansleprogramme.Comprendrelaportéedesvariablesestessentielpourécrireuncode
efficaceetmaintenable.
Fichiersd'en-tête