Conteúdo do Curso
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.
Obrigado pelo seu feedback!