C++ Interview Questions and Answers


What is a dangling pointer in C++?

A dangling pointer arises when you use

the address of an object after

its lifetime is over. This may occur

in situations like returning

addresses of the automatic variables

from a function or using the

address of the memory block after

it is freed. The following

code snippet shows this:

class Sample



int *ptr;

Sample(int i)


ptr = new int(i);




delete ptr;


void PrintVal()


cout << "The value is " << *ptr;



void SomeFunc(Sample x)


cout << "Say i am in someFunc " << endl;


int main()


Sample s1 = 10;




In the above example when PrintVal() function is

called it is called by the pointer that has been

freed by the destructor in SomeFunc.

Posted by:Richards