As far as I know, I should destroy in destructors everything I created with new
and close opened filestreams and other streams.
However, I have some doubts about other objects in C++:
std::vector
andstd::string
s: Are they destroyed automatically?If I have something like
std::vector<myClass*>
of pointers to classes. What happens when the vector destructor is called?
Would it call automatically the destructor ofmyClass
? Or only the vector is destroyed but all the Objects it contains are still existant in the memory?What happens if I have a pointer to another class inside a class, say:
class A { ClassB* B; }
and Class A is destroyed at some point in the code. Will Class B be destroyed too or just the pointer and class B will be still existent somewhere in the memory?