Well no because if you allocate stuff in the constructor, you are going to write a destructor now, freeing that allocated stuff up / closing that socket, pipe whatever etc.
If I do it straight after the constructor, then definitely but if I get distracted by something else then it’s only probably until I run it through valgrind and see the leak. These days, I mostly use smart pointers in new code though so there are fewer opportunities to need a destructor. It’s funny that I never forget when opening a file or db connection!
Well yes, except when you allocate stuff in the constructor.
The compiler will still generate one. It won’t be any use but it will be generated :)
Well no because if you allocate stuff in the constructor, you are going to write a destructor now, freeing that allocated stuff up / closing that socket, pipe whatever etc.
Right?
Right??
If I do it straight after the constructor, then definitely but if I get distracted by something else then it’s only probably until I run it through valgrind and see the leak. These days, I mostly use smart pointers in new code though so there are fewer opportunities to need a destructor. It’s funny that I never forget when opening a file or db connection!