Referanse vs Pekere
Sveip for å vise menyen
Referanser og pekere gir indirekte tilgang til variabelverdier, men de har noen viktige forskjeller, samt fordeler og ulemper.
Syntaks
-
Pekere deklareres med
*-symbolet; -
Referanser deklareres med
&-symbolet.
Initialisering
Du kan ikke deklarere en tom referanse. Men du kan deklarere en tom peker med nullptr.
Omtilordning
Referanser kan ikke omtilordnes til å referere til et annet objekt.
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; }
Pekere kan omtilordnes til å peke til ulike minneadresser.
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; }
Tilgang til verdien
For å få tilgang til verdien som en peker peker på, bruker du dereferanseoperatoren *. For referanser trenger du ikke å bruke noen spesiell operator; du bruker bare referansevariabelen direkte.
Både pekere og referanser er avgjørende i minnehåndtering, og bidrar til programmets fleksibilitet. Bruken avhenger av konteksten.
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår