Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Références Constantes et Immuabilité | Références
Pointeurs Intelligents C++
course content

Contenu du cours

Pointeurs Intelligents C++

Pointeurs Intelligents C++

1. Introduction aux Pointeurs Intelligents
2. Pointeurs Uniques
3. Pointeurs Partagés
4. Pointeurs Faibles
5. Références
6. Sujets Avancés

book
Références Constantes et Immuabilité

Une référence constante est un type spécial de référence qui ne peut pas être utilisée pour changer la valeur de l'objet référencé. Elle fournit un niveau d'immuabilité, c'est-à-dire qu'elle garantit que les données restent constantes dans le cadre de la référence. Considérons un exemple pour mieux comprendre :

cpp

main

copy
12345678910
int main() { int var = 42; // Const reference to value const int& ref = var; // Uncomment to get compilation error: Cannot modify through a const reference // ref = 10; }

Dans le code ci-dessus, nous créons une référence constante en utilisant le mot-clé const. Une fois que nous avons fait cela, nous ne pouvons pas modifier la valeur de la variable référencée (var dans notre cas) en utilisant cette référence. Vous pouvez tester cela en décommentant la ligne ref = 10; pour obtenir une erreur de compilation.

Avantages de l'immuabilité

Le code immuable présente plusieurs avantages. Il améliore la lisibilité du code et simplifie le débogage ; lorsqu'une personne voit qu'une variable a été déclarée comme constante, elle peut être sûre que sa valeur ne changera nulle part. Cela réduit également la surcharge de compilation, car le compilateur n'a pas à se soucier des mutations de valeur d'une référence constante.

Références constantes en tant que paramètres de fonction

L'un des cas d'utilisation les plus puissants des références constantes est de les passer en tant que paramètres de fonction pour éviter des copies inutiles et garantir l'intégrité des données. Voici comment cela fonctionne :

  • Puisqu'une référence n'est qu'un alias de la variable originale, il n'y a pas de copie impliquée.

  • Puisque nous définissons la référence comme constante, la fonction ne peut pas modifier la valeur de la référence. Cela garantit que la fonction n'obtient qu'un accès en lecture seule à la variable.

Puisque le but de la fonction displayInfo est d'afficher le message, et non de le mettre à jour, nous utilisons une référence constante pour passer message à celle-ci. De cette façon, la fonction ne peut pas mettre à jour la valeur de message.

En règle générale, essayez d'utiliser des références constantes dans toutes les fonctions de votre code, sauf si vous devez modifier la variable à l'intérieur de la fonction.

Le code suivant définit une référence à une variable entière. Modifiez le code pour en faire une référence constante.

Le code suivant définit une référence à une variable entière. Modifiez le code pour en faire une référence constante.

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 5. Chapitre 2
We're sorry to hear that something went wrong. What happened?
some-alt