Referentie Versus Pointers
Veeg om het menu te tonen
Referenties en pointers bieden indirecte toegang tot variabele waarden, maar ze hebben enkele belangrijke verschillen, evenals voor- en nadelen.
Syntaxis
-
Pointers worden gedeclareerd met het
*-symbool; -
Referenties worden gedeclareerd met het
&-symbool.
Initialisatie
Het is niet mogelijk om een lege referentie te declareren. Maar het is wel mogelijk om een lege pointer te declareren met nullptr.
Herverwijzing
Referenties kunnen niet opnieuw worden toegewezen om naar een ander object te verwijzen.
main.cpp
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; }
Pointers kunnen opnieuw worden toegewezen om naar verschillende geheugenlocaties te verwijzen.
main.cpp
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; }
Toegang tot de waarde
Om toegang te krijgen tot de waarde waarnaar een pointer verwijst, wordt de dereference-operator * gebruikt. Voor referenties is geen speciale operator nodig; de referentievariabele kan direct worden gebruikt.
Zowel pointers als referenties zijn essentieel voor geheugenbeheer en dragen bij aan de flexibiliteit van programma's. Het gebruik ervan is afhankelijk van de context.
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.