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 | Section
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. Mais 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érencer 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 zones 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, utilisez 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 essentiels dans la gestion de la mémoire, apportant de la flexibilité aux 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 ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 11

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 1. Chapitre 11
some-alt