What are the differences between a pointer variable and a reference variable in C++?


References

When a variable is declared as a reference, it becomes an alternative name for an existing variable.

Syntax 

Type &newname = existing name;

Initialization

Type &pointer;
pointer = variable name;

Pointers

Pointers are used to store the address of a variable.

Syntax

Type *pointer;

Initialization

Type *pointer; 
pointer = variable name;


The main differences between references and pointers are -

  • References are used to refer an existing variable in another name whereas pointers are used to store the address of a variable.
  • References cannot have a null value assigned but pointer can.
  • A reference variable can be referenced bypass by value whereas a pointer can be referenced but pass by reference
  • A reference must be initialized on declaration while it is not necessary in case of a pointer.
  • A reference shares the same memory address with the original variable but also takes up some space on the stack whereas a pointer has its own memory address and size on the stack.


Updated on: 23-Jun-2020

951 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements