Answers

Question and Answer:

  Home  Programming

⟩ What is a dangling pointer in programming?

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

{

public:

int *ptr;

Sample(int i)

{

ptr = new int(i);

}

~Sample()

{

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;

SomeFunc(s1);

s1.PrintVal();

}In the above example when PrintVal() function is

called it is called by the pointer that has been freed by the

destructor in SomeFunc.

 141 views

More Questions for you: