Chargement...

Variables, types de données et auto en C++

Apprenez les variables, types de données et le mot-clé auto en C++ avec des exemples de déduction de type.

Dans les programmes C++, les variables sont utilisées pour stocker et manipuler des données. Chaque variable possède un type de donnée qui détermine la quantité de mémoire utilisée et le type de valeurs qu’elle peut contenir. Cet article explique les types de données de base en C++, les règles de déclaration des variables et l’utilisation du mot-clé moderne auto introduit dans C++11.


1. Qu’est-ce qu’une variable ?

Une variable est une zone de mémoire nommée servant à stocker une valeur. Pendant l’exécution du programme, cette valeur peut être lue ou modifiée.


int age = 25;
double pi = 3.14159;
char lettre = 'A';
bool actif = true;

Chaque variable possède un type différent et occupe une quantité de mémoire spécifique.


2. Types de données de base

Voici les principaux types de données en C++ :

TypeDescriptionExemple
intEntiers (positifs ou négatifs)int nombre = 42;
doubleNombre à virgule flottantedouble taux = 0.75;
charUn seul caractèrechar symbole = 'X';
boolValeur logique (true / false)bool actif = true;
stringChaîne de caractères (texte)string nom = "Ahmet";

Le type string est fourni par la bibliothèque <string> :


#include <iostream>
#include <string>
using namespace std;

int main() {
    string nom = "Ali";
    cout << "Bonjour " << nom << endl;
    return 0;
}

3. Règles de déclaration des variables

Exemples valides et invalides :


// Valide
int nombre_etudiants = 30;
double prixTotal = 99.50;

// Invalide
int 2pommes = 5;      // ne peut pas commencer par un chiffre
int classe = 10;      // caractères spéciaux non autorisés
int double = 7;       // mot-clé réservé

4. Constantes (const)

Si vous souhaitez qu’une variable garde la même valeur pendant toute l’exécution du programme, utilisez le mot-clé const.


const double PI = 3.14159;
const int MAX_ETUDIANTS = 40;

// PI = 3.14;  // erreur ! les constantes ne peuvent pas être modifiées

5. Conversion de type (Type Casting)

En C++, il est possible de convertir une valeur d’un type vers un autre.


int x = 10;
double y = 3.0;
double resultat = x / y; // conversion automatique (int → double)
cout << resultat; // 3.33333

Pour une conversion explicite, on peut utiliser static_cast :


int somme = 5;
int nombre = 2;
double moyenne = static_cast<double>(somme) / nombre;
cout << moyenne; // 2.5

6. Le mot-clé auto (C++11+)

Introduit avec C++11, le mot-clé auto permet au compilateur de déterminer automatiquement le type de la variable à partir de la valeur qui lui est affectée.


auto nombre = 10;        // int
auto taux = 3.14;        // double
auto texte = "Bonjour";  // const char*
auto actif = true;       // bool

Cette fonctionnalité améliore la lisibilité du code, surtout lorsqu’on travaille avec des types complexes (comme les itérateurs ou les types basés sur des modèles).


7. Le mot-clé decltype (C++11+)

decltype permet de déclarer une nouvelle variable du même type qu’une expression existante.


int a = 5;
decltype(a) b = 10; // b est aussi de type int

Utilisé conjointement avec auto, il permet d’écrire un code flexible et sûr au niveau des types.


8. Exemple : Calcul de la moyenne des notes

L’exemple suivant combine différents types de données, l’utilisation de auto et la conversion de type.


#include <iostream>
using namespace std;

int main() {
    int note1 = 85;
    int note2 = 90;
    int note3 = 78;

    auto moyenne = static_cast<double>(note1 + note2 + note3) / 3;
    cout << "Moyenne : " << moyenne << endl;

    return 0;
}

9. TL;DR

  • Chaque variable a un type qui détermine la taille mémoire et la plage de valeurs.
  • Les constantes déclarées avec const ne peuvent pas être modifiées.
  • static_cast<> permet une conversion de type sécurisée.
  • auto détermine automatiquement le type d’une variable.
  • Les exemples peuvent être exécutés avec Visual Studio 2022 ou GCC 11+.

Articles connexes