Contenuti del Corso
C++ Pointers and References
C++ Pointers and References
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
#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
#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.
Grazie per i tuoi commenti!