Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Reference vs Pointers | Referencer Grundlæggende
C++ Pointers og Referencer

bookReference vs Pointers

Stryg for at vise menuen

Referencer og pointere giver indirekte adgang til variabelværdier, men de har nogle væsentlige forskelle, samt fordele og ulemper.

Syntaks

  • Pointere deklareres ved hjælp af symbolet *;

  • Referencer deklareres ved hjælp af symbolet &.

Initialisering

Det er ikke muligt at deklarere en tom reference. Men det er muligt at deklarere en tom pointer med nullptr.

Omtildeling

Referencer kan ikke omtildeles til at referere til et andet objekt.

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; }

Pointere kan omtildeles til at pege på forskellige hukommelsesadresser.

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; }

Adgang til værdien

For at få adgang til værdien, som en pointer peger på, bruges dereference-operatoren *. For referencer er det ikke nødvendigt at bruge en særlig operator; referencevariablen anvendes direkte.

Både pointers og referencer er afgørende for hukommelsesstyring og bidrager til programmets fleksibilitet. Brugen afhænger af konteksten.

question mark

Hvilket kodeeksempel demonstrerer korrekt, at en pointer kan ompeges til en anden variabel, men at en reference ikke kan?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 3

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 3. Kapitel 3
some-alt