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

bookRéférence vs Pointeurs

Glissez pour afficher le menu

Les références et les pointeurs permettent un accès indirect aux valeurs des variables, mais ils présentent des différences essentielles, ainsi que des avantages et des inconvénients.

Syntaxe

  • Les pointeurs sont déclarés à l'aide du symbole * ;

  • Les références sont déclarées à l'aide du symbole &.

Initialisation

Il n'est pas possible de déclarer une référence vide. En revanche, il est possible de déclarer un pointeur vide avec nullptr.

Réaffectation

Les références ne peuvent pas être réaffectées pour référer à un autre objet.

main.cpp

main.cpp

copy
12345678910111213
#include <iostream> int main() { int x = 125, y = 500; // creating a reference to x variable int& ref_x = x; ref_x = y; // attempt to re-assigned ref_x ref_x = 0; std::cout << x << ' ' << y; }

Les pointeurs peuvent être réaffectés pour pointer vers différentes adresses mémoire.

main.cpp

main.cpp

copy
12345678910111213
#include <iostream> int main() { int x = 125, y = 500; // creating a pointer to x variable int* ptr = &x; ptr = &y; // attempt to re-assigned ref_x *ptr = 0; std::cout << x << ' ' << y; }

Accès à la valeur

Pour accéder à la valeur pointée par un pointeur, il faut utiliser l'opérateur de déréférencement *. Pour les références, aucun opérateur spécial n'est nécessaire ; il suffit d'utiliser directement la variable de référence.

Les pointeurs et les références sont tous deux essentiels dans la gestion de la mémoire, contribuant à la flexibilité des programmes. Leur utilisation dépend du contexte.

question mark

Quel extrait de code démontre correctement qu'un pointeur peut être réaffecté pour pointer vers une autre variable, mais qu'une référence ne le peut pas ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 3

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Section 3. Chapitre 3
some-alt