Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Referenser vs Pekare | Referensers Grunder
C++-Pekare och Referenser

bookReferenser vs Pekare

Svep för att visa menyn

Referenser och pekare möjliggör indirekt åtkomst till variabelvärden, men de har vissa viktiga skillnader, samt för- och nackdelar.

Syntax

  • Pekare deklareras med symbolen *;

  • Referenser deklareras med symbolen &.

Initiering

Du kan inte deklarera en tom referens. Men du kan deklarera en tom pekare med nullptr.

Omtilldelning

Referenser kan inte tilldelas om för att referera till ett annat 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; }

Pekare kan tilldelas om för att peka på olika minnesadresser.

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

Åtkomst till värdet

För att komma åt värdet som en pekare pekar på används dereferensoperatorn *. För referenser behövs ingen särskild operator; referensvariabeln används direkt.

Både pekare och referenser är avgörande för minneshantering och bidrar till programmets flexibilitet. Deras användning beror på sammanhanget.

question mark

Vilken kodsnutt visar korrekt att en pekare kan tilldelas att peka på en annan variabel, men att en referens inte kan det?

Vänligen välj det korrekta svaret

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 3

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Avsnitt 3. Kapitel 3
some-alt