Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Reference vs Pointers | References Fundamentals
C++ Pointers and References

book
Reference vs Pointers

References and pointers provide indirect access to variable values. but they have some key differences, as well as pros and cons.

Syntax

  • Pointers are declared using the * symbol;

  • References are declared using the & symbol.

Initialization

You can't declare an empty reference. But you can declare an empty pointer with nullptr.

Reassignment

References can't be re-assigned to refer to a different object.

main.cpp

main.cpp

copy
#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;
}
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 can be re-assigned to point to different memory locations

main.cpp

main.cpp

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

Accessing the value

To access the value pointed by a pointer, you use the dereference operator *. For references, you don't need to use any special operator; you simply use the reference variable directly.

Both pointers and references are crucial in memory management, contributing to the flexibility of programs. Their usage depends on the context.

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 4

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

some-alt