logoalt Hacker News

otabdeveloper4today at 6:57 AM1 replyview on HN

> Since they are invisibly inserted

They're not, all destructors are explicit. Seems like a skill issue on your end.


Replies

WalterBrighttoday at 7:26 AM

Since AFAIK I'm still the only person to write a correct C++ (C++98) compiler from preprocessor to object file, I know all about destructors.

Here's a fun one for your amusement:

    foo(a, b, c);
The parameters are pass by value. a, b and c are objects that have destructors. Have a look at the code generated for that.

It is nice that the compiler does the dirty work for you, but the various paths with exceptions and recovery with invisible code may not be well tested.