Does the objects we introduce in class deletes automatically after execution | Sololearn: Learn to code for FREE!
New course! Every coder should learn Generative AI!
Try a free lesson
0

Does the objects we introduce in class deletes automatically after execution

24th Jun 2016, 2:42 PM
Nisarg Uchiha
Nisarg Uchiha - avatar
5 Answers
+ 1
This depends on where in the memory you allocate your class instance. There are three basic places where a class instance can be created. 1.) in the static space 2.) on the stack 3.) on the heap If you allocate your class instance in the static space or on the stack, the class instance its being cleaned up automatically for you. If you allocate it on the heap, you have to clean it up after usage or otherwise you will get so-called "memory leaks". This, btw does not only apply to class instances but for *all* instances (float, double, ...) Here's an example for the three places: class A {}; A a; // in the static space int main() { A b; // on the stack static A c; // in the static space A* d = new float; // on the heap delete d; } Side note: global and static variables are of fixed size and usually stored in the executable therefore they do not have to be allocated at runtime, they exist already after the operating system loaded the executable. Therefore they do not have to be cleaned up.
24th Jun 2016, 4:57 PM
Stefan
Stefan - avatar
+ 1
Its all about scope......as soon as the object goes out of scope unless its static....the object disallocates
25th Jun 2016, 2:00 PM
Mukul Kumar
Mukul Kumar - avatar
+ 1
Hi Nisag, I have to admit that I'm not a beginner in C++. I did SoloLearn C++ to test my skills and have some fun :-) I have about 10+ years of experience in C++, Java, python and have been working as a researcher and educator in computer science. Nowadays I work as a freelancer and have a startup with a buddy of mine. So it's not a course you can take or a book you can read. It's a longer commitment. Still my answer involves only knowledge I acquired as a student in a system software lecture. Nevertheless, if you still have fun learning and keep on working on your professional skill everyone can get there. :-)
28th Jun 2016, 9:06 AM
Stefan
Stefan - avatar
0
Thanks stefan.....how r u so advanced In c++..where did u learn it from..
28th Jun 2016, 8:17 AM
Nisarg Uchiha
Nisarg Uchiha - avatar
0
Yes modern compilers implicitly include destructors in ur source code even if u don't mention it explicitly so objects gets deleted
24th Jul 2016, 7:14 PM
Dinesh C
Dinesh C - avatar