Hacker News new | ask | show | jobs
by chipdart 713 days ago
> Horrific.

I think you're whining about something that doesn't pose any problem to anyone with any passing experience in software development.

The examples in the blog post boil down to far-fetched cases devised to trigger corner-cases of a feature where a programming language in exceptional cases auto-generates specific functions when programmers somehow explicitly decided not to do it themselves. The blogger then proceeds to explore edge conditions that lead these exceptional cases to either be enabled or disabled.

In the meantime, be mindful of the fact that this is about a language with a clear design goal of paying only for what you use,and also the widely established rule of 3/rule of 5, which is C++101 and states that when anyone defines one of these special member functions, they should define them all. Why? Because it's C++101 that these special member functions are only generated by the compiler in specific corner cases, and given their exceptional nature the compiler will not generate them automatically if any of the requirements is not met.

Therefore, any programmer who goes through the faintest introduction knows that they have to set the constructors they will use. Is this outlandish?

Also, does it catches anyone by surprise that you need to initialize instances when you instantiate them? Is this too much of a gotcha to justify being called "horrific"?

I think people like you just feel the need to have something to complain about. In the meantime, everyone in the real world happily does real work with them without any fuss.

2 comments

Are you joking? The profusion of initialisation types and exceptions to those rules (and exceptions to those exceptions...) absolutely pose a practical problem to all C++ programmers everywhere.
> I think people like you just feel the need to have something to complain about

Thanks for the ad hominem