- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Pointers vs References in C++
Pointers
Pointers are used to store the address of variable.
Syntax
Type *pointer;
Initialization
Type *pointer; pointer = variable name;
References
When a variable is declared as reference, it becomes an alternative name for an existing variable.
Syntax
Type &newname = existing name;
Initialization
Type &pointer; pointer = variable name;
The main differences between pointers and references are -
References are used to refer an existing variable in another name whereas pointers are used to store address of variable.
References cannot have a null value assigned but pointer can.
A reference variable can be referenced by pass 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 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.
- Related Articles
- C/C++ Pointers vs Java references
- When to use references vs. pointers in C/C++
- What is the difference between Java references and pointers in other languages?
- Pointers, smart pointers and shared pointers in C++
- References in C++
- Pointers in C/C++
- What are circular references in C#?
- Applications of Pointers in C/C++
- What are pointers in C#?
- How to compare pointers in C/C++?
- What are Wild Pointers in C/C++?
- RAII and smart pointers in C++
- Examples of soft references and phantom references?
- C++ vs C++0x vs C++11 vs C++98
- near, far and huge pointers in C
