Yahoo Interview Question
Software Engineer / DevelopersPOINTER
1) Its not necessary to initialize the pointer at the time of declaration. Like
int a = 10;
int *P = &a; //It is not necessary
Another way is :
int a = 10;
int *P;
P = &a;
2) You can create the array of Pointer.
3) You can assign NULL to the pointer like
int *P = NULL; //Valid
4) You can use pointer to pointer.
REFERENCE
1) Its necessary to initialize the Reference at the time of declaration. Like
int &a = 10;
int &a; //Error here but not in case of Pointer.
2) You can not create the Array of reference.
3) You can not assign NULL to the reference like
int &a = NULL; //Error
4) You can not use reference to reference.
Is reference a pointer?
* Reference is an implicit pointer
* Must tell it which variable it will become an alias for
* References do not require dereferencing
* No acquisition of memory address required
* References are often implemented by the compiler writers as pointers.
* References are "safer"
Is there any adv of references over pointers?
* References do not require dereferencing
* No acquisition of memory address required
* References are "safer"
Is there any adv of pointers over references? (yes, both this and the last qn is valid)
* Pointer can be left uninitialized.
* Pointer can be stored in Container classes, References cannot, as they are uninitialized.
* Most programs has "NULL" values, Pointers are recommended in these cases.
* Pointer can easily visualize side-effect is local or not.
Reference is to one object can not be changed to another object
- Anonymous November 21, 2009Reference should be initialized always.
Any other Differences??