Pourquoi les références sont des alias de variables
Découvrir les références comme des alias déterminés à la compilation, qui ne peuvent être réaffectés ni être nuls
Pourquoi les références sont des alias de variables est une leçon C++ Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage C++ Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours C++ Academy comprend 4 leçons au total.
Qu’est-ce qu’une référence
Une référence est un alias à la compilation pour une autre variable. Ce n’est ni un pointer ni une copie : c’est le même objet sous un autre nom.
Syntaxe des références
Placez & après le type. Les références doivent être initialisées lors de la déclaration et ne peuvent pas être réattachées.
int x = 10;
int& ref = x; // ref is an alias for x
ref = 20; // x is now 20Comparaison avec les pointeurs
Les références et les pointeurs fournissent tous deux un accès indirect, mais :
- Les références doivent être initialisées ; les pointeurs peuvent être nuls
- Les références ne peuvent pas être réaffectées à un autre objet
- Les références n’utilisent jamais
*ni->: elles ressemblent à des variables ordinaires
Pas de réattachement
Une fois liée, une référence désigne toujours le même objet. Lui affecter une valeur modifie la valeur sous-jacente, et non la référence elle-même.
int a = 1, b = 2;
int& r = a;
r = b; // a becomes 2, r still refers to aLes références ont la même adresse
Une référence se comporte comme la variable d’origine. Prendre son adresse donne l’adresse de l’objet référencé.
int x = 42;
int& r = x;
std::cout << (&r == &x); // 1 (true)Références constantes
Une référence const est un alias en lecture seule. Elle est utile pour transmettre de gros objets sans les copier.
void print(const std::string& s) {
std::cout << s; // can read, not modify
}Liaison de références constantes à des temporaires
Une référence const prolonge la durée de vie d’un temporaire jusqu’à celle de la référence elle-même, ce qui est pratique dans les expressions.
const std::string& greeting = std::string("Hi");
std::cout << greeting; // validLes références comme types de retour
Les fonctions peuvent renvoyer des références, ce qui est utile pour chaîner des opérations ou donner un accès direct à un membre. Attention à ne jamais renvoyer une référence vers une variable locale !
int& at(std::vector<int>& v, size_t i) {
return v[i];
}
at(v, 0) = 99; // modifies v[0]Ne renvoyez jamais une référence vers une variable locale
La variable locale disparaît lorsque la fonction renvoie son résultat ; la référence devient alors pendante. Il s’agit d’un comportement indéfini.
// BUG
int& bad() {
int x = 10;
return x; // x dies here
}Références dans les boucles for fondées sur une plage
Les boucles for fondées sur une plage utilisent implicitement des références. auto& obtient une référence ; auto obtient une copie.
Références dans les liaisons structurées
Les liaisons structurées de C++17 peuvent se faire par valeur, par référence ou par référence constante.
std::pair<int, int> p = {1, 2};
auto [a, b] = p; // copies
auto& [x, y] = p; // references — modifying x changes p.firstVérification rapide
Pourquoi une référence ne peut-elle pas être réattachée ultérieurement à une autre variable ?
Récapitulatif
Une référence est un alias à la compilation qui doit être initialisé et ne peut pas être réattaché. Elle ressemble à une variable ordinaire, n’est jamais nulle et n’est jamais réaffectée. Utilisez des références constantes pour les vues en lecture seule.
Apprends C++ avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 51
- Leçons
- 203
Questions Fréquemment Posées
La leçon « Pourquoi les références sont des alias de variables » est-elle gratuite ?
Oui — le texte complet de « Pourquoi les références sont des alias de variables » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours C++ Academy, passe à CoddyKit PRO. Le cours C++ Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Pourquoi les références sont des alias de variables » ?
Découvrir les références comme des alias déterminés à la compilation, qui ne peuvent être réaffectés ni être nuls Tu pratiques C++ Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer C++ Academy ?
Aucune expérience préalable n'est requise. C++ Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Pourquoi les références sont des alias de variables » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon C++ Academy ?
Oui. Chaque leçon C++ Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Pourquoi les références sont des alias de variables
- Passage par valeur ou par référence
- Références const et situations appropriées
- Durée de vie des références et références pendantes