Answer Posted / shyamal bose
Memory leaks happens for the memory allocated on Heap(ex A
*temp = new A()) . memory allocated by us on stack (int a)
is released automatically when the function returns or
module goes out of scope.
But memory allocated on heap will not be freed
automatically, we need to release it manually.
ex:
func()
{
A *a = new A(); //on heap
int b; // on stack
}
main()
{
func();
}
Now in above example when func is called memory for "a" is
created on HEAP by using NEW, but it is not freed by using
DELETE, hence is memory leak. On the other hand "b" is
created on STACK & freed automatically. so correct
implementation is:
func()
{
A *a = new A(); //on heap
int b; // on stack
delete a; //deleting memory on heap
}
main()
{
func();
}
| Is This Answer Correct ? | 7 Yes | 0 No |
Post New Answer View All Answers
Why do we use polymorphism?
Why do we need oop?
What is the difference between a constructor and a destructor?
What is stream in oop?
to find out the minimum of two integer number of two different classes using friend function
What makes a language oop?
What is overloading and its types?
What is object in oops?
What is class in oop with example?
What is a class oop?
Write a program to reverse a string using recursive function?
Who invented oop?
write a code for this:trailer recordId contains a value other than 99, then the file must error with the reason ‘Invalid RECORD_ID’(User Defined Exception).
hi all..i want to know oops concepts clearly can any1 explain??
Is this job good for future? can do this job post grduate student?