Skip to main content
Object reference vs pointer
DifferencesPointer
- You think of pointer as just another type like int, char, float, it takes up a constant amount of spaces in memory, and you can assign values to them.
- The value you assign to them is a memory
address, you can point them to a memory address. The type of the pointer tell it how to interpret the memory address that it is assigned.
- You can interpret the memory address pointed by the pointer using the dereferencing operator (*).
AnA objectpointer can be assigned to point a NULL
value
- A pointer can be changed to point to any variable of the same type.
- You can do pointer arithmetic, but you cannot with references.
References
- A reference
onmust be initialized when it is declared
- It cannot be NULL
- You can use it by simply using the
othername. hand, first of all, doesn't exist in C, but in C++.
An object referenceReference is implemented via pointer, but a constant pointer with automatic indirection, the compiler will apply the dereferencing for you automatically.
An object reference cannot be null, while a pointer can be pointed to NULL
.
- Think of
object references as an alias to the existing object in memory. Another variable name if you will.