Shall we use 'free' to free memory assigned by new, What are
the further consequences??
Answers were Sorted based on User's Feedback
Answer / aruna kumar samal
yes you can use free to free memory assignrd by new but it
wo not call the destructor.
| Is This Answer Correct ? | 6 Yes | 0 No |
Answer / uma sankar pradhan
No,we shouldnot use 'free' to free memory assigned by new.
It causes memory leak and sometimes hanging of the system
| Is This Answer Correct ? | 3 Yes | 0 No |
Answer / nishikant sahu
Yes you can but not recommend, b'c some time when you class
hold the heap memory it can't be free by "Free" b'c of no
constructor call happening via "Free" and you get the memory
leak. so use New/ delete or malloc/free pair.
| Is This Answer Correct ? | 3 Yes | 1 No |
Answer / guest
Yes we can use free which was assigned by new.but in this
case no destrctor will be called as free doesn't call this.
So it is recommended that we should not use free if we
allcoate the memory using new.
| Is This Answer Correct ? | 2 Yes | 0 No |
Answer / krishnarao panchadi
Syntactically we can use "free" in place of "delete". But
semantically it is senseless as it wont call the destructor.
Note that, deallocating is not the only purpose of
using "delete". The destructor should also be called if you
call the constructor(while creating the object).
Failing to call "delete" may lead to system crash.
Using "free" wont call the desturctor.
| Is This Answer Correct ? | 2 Yes | 0 No |
Is java easier than c++?
Is c or c++ more useful?
what is pre-processor in C++?
What is polymorphism in c++? Explain with an example?
In int main(int argc, char *argv[]) what is argv[0] a) The first argument passed into the program b) The program name c) You can't define main like that
Why is c++ still popular?
What is the difference between containment and delegation?
Are iterators pointers?
What does it mean to declare a destructor as static?
What are the differences between java and c++?
What jobs can you get with a c++ certification?
Why ctype h is used in c++?