this post was submitted on 15 Nov 2024
84 points (97.7% liked)
Programmer Humor
19564 readers
635 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
There's always a destructor though. It may do nothing but it's there.
No need to declare it though ofc.
Rule of 0/3/5
Yeah the compiler generates it so it's always there
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!