reference vs. pointer

2011-04-09

In Software Engineering Project course we need to learn some C++ to develop the project. A question that some programmers have when passing from Java to C++ (like me) is “Which are the differences between pointers and references?”. You can find a lot of answers around developers forum, but I summarized them in the following table. Glad if you found it useful!

Reference Pointer
is an object which **IS AN ALIAS** for another object is an object that** CONTAINS THE ADRRESS IN MEMORY**of another object
the preferred way of undirectly access objects you should use it just if you really need it, as it lets you to work in a lower level than a reference does
keeps your code clear the code is less clear but still understandable
it must be initialized when created you don't have to initialize it when declared
it references to the one object and only that one, therefore you **can not modify the address referenced** because it contains an address, it can point to many different objects during lifetime. The **address can be manipulated**
when used, the **address is dereferenced**without using any particular operator the **address must be dereferenced** using the * operator

I do not use a commenting system anymore, but I would be glad to read your comments and feedback. Feel free to contact me.