Programmation • IoT

Résumé : Chap 10 – Les structures

Ce chapitre a pour objectif de montrer comment le C++ permet de créer des types de données adaptés aux informations que l’on souhaite représenter.

Jusqu’à présent, les programmes utilisaient principalement des variables indépendantes de type int, double ou char. Certaines informations sont pourtant composées de plusieurs valeurs liées, comme le jour, le mois et l’année d’une date.

Les structures permettent de regrouper ces valeurs au sein d’un même type. Une déclaration comme struct Date définit ainsi un nouveau modèle de données contenant plusieurs membres.

Une fois la structure déclarée, le nom Date peut être utilisé comme n’importe quel autre type pour créer des variables représentant chacune une date complète.

Le lecteur apprend à accéder aux membres d’une structure avec l’opérateur point. Une expression telle que aujourdHui.jour désigne le membre jour de la variable aujourdHui.

Le chapitre explique également comment initialiser tous les membres en une seule instruction. Les valeurs placées entre accolades sont alors associées aux membres dans l’ordre de leur déclaration.

Une structure peut être copiée ou affectée directement. Le compilateur copie automatiquement chacun de ses membres, ce qui produit deux variables indépendantes et non deux noms désignant le même objet.

Comme tout véritable type de données, une structure peut être transmise à une fonction. Lors d’un passage par valeur, la fonction reçoit une copie complète, de sorte que ses modifications n’affectent pas la variable originale.

Une fonction peut également construire et retourner une structure. Cette possibilité permet de regrouper dans une seule valeur de retour plusieurs informations qui forment un ensemble cohérent.

Le mot-clé typedef, ainsi que la syntaxe moderne using, permet de donner un autre nom à un type existant. Il s’agit d’un alias et non de la création d’un type réellement différent.

Le chapitre introduit enfin les énumérations, qui servent à définir un type dont les valeurs possibles sont limitées à une liste symbolique choisie par le programmeur, comme Rouge, Vert et Bleu.

Le but général est donc d’apprendre à modéliser des informations complexes avec des types clairs et cohérents. Les structures et les énumérations préparent ainsi directement l’étude des classes et de la programmation orientée objet.