Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Cas d'Utilisation des Références | Fondamentaux des Références
C++ Pointeurs et Références

book
Cas d'Utilisation des Références

Les références offrent un mécanisme puissant pour travailler avec les fonctions. Semblables aux pointeurs, elles permettent une connexion directe entre l'appelant et la fonction appelée, facilitant le passage efficace des paramètres et la modification des variables.

Passage par référence

Cela consiste à passer la référence réelle à la variable plutôt que sa valeur. Cela permet aux fonctions de manipuler directement les variables originales.

cpp

main

copy
#include <iostream>

void increment(int* num) { (*num)++; }

int main()
{
int num = 5;
int* p_num = &num;

increment(p_num);
std::cout << "Original value: " << num << std::endl;
}
12345678910111213
#include <iostream> void increment(int* num) { (*num)++; } int main() { int num = 5; int* p_num = &num; increment(p_num); std::cout << "Original value: " << num << std::endl; }

Tout fonctionne correctement, mais le fait de ne pas assigner une adresse au pointeur ou de passer un nullptr à la fonction pourrait entraîner des erreurs.

cpp

main

copy
#include <iostream>

void increment(int& num) { num++; }

int main()
{
int num = 5;
increment(num);
std::cout << "Original value: " << num << std::endl;
}
12345678910
#include <iostream> void increment(int& num) { num++; } int main() { int num = 5; increment(num); std::cout << "Original value: " << num << std::endl; }

Variable de référence en tant qu'alias

Une référence est comme un surnom pour une variable. Elle vous permet d'accéder à la variable en utilisant un nom plus simple, rendant votre code plus facile à comprendre, tout en évitant un encombrement mémoire inutile.

cpp

main

copy
#include <iostream>

int main()
{
float temperature_outside = 67.2;
const float& thermostat = temperature_outside;
temperature_outside += 15.7;

std::cout << thermostat << std::endl;
std::cout << temperature_outside << std::endl;
}
123456789101112
#include <iostream> int main() { float temperature_outside = 67.2; const float& thermostat = temperature_outside; temperature_outside += 15.7; std::cout << thermostat << std::endl; std::cout << temperature_outside << std::endl; }

Toute modification apportée à la temperature_outside variable sera reflétée dans la référence thermostat. Cependant, les tentatives de modifier la valeur via la référence thermostat sont restreintes en raison de l'utilisation du qualificateur const.

Cette approche fournit une méthode sécurisée pour obtenir des relevés de température en utilisant la référence thermostat tout en conservant la possibilité de mettre à jour la variable temperature_outside.

question mark

Quel est le but d'une référence en C++ ?

Sélectionnez quelques réponses correctes

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 2
some-alt