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

Course Content

C++ Pointers and References

C++ Pointers and References

1. Pointers Fundamentals
2. Pointer Arithmetic
3. References Fundamentals
4. Dynamic Memory Allocation

bookReference 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.

cpp

main

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

Pointers can be re-assigned to point to different memory locations

cpp

main

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

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.

Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 3. Chapter 4
some-alt