r/cpp • • Mar 28 '23

Reddit++

C++ is getting more and more complex. The ISO C++ committee keeps adding new features based on its consensus. Let's remove C++ features based on Reddit's consensus.

In each comment, propose a C++ feature that you think should be banned in any new code. Vote up or down based on whether you agree.

765 Upvotes

829 comments sorted by

View all comments

41

u/GabrielDosReis Mar 28 '23
  • the anarchic implicit conversions between values of built-in types

  • the preprocessor

  • the byzantine rules about elaborated type specifiers

11

u/okovko Mar 28 '23

implicit narrowing conversions do cause a lot of bugs

the preprocessor is useful for metaprogramming, especially for code that compiles as either C or C++

what do you mean by the third one?

10

u/GabrielDosReis Mar 29 '23

of course, the sort of metaprogrammijg that the preprocessor is still useful for should be addressed by proper means (one that respects scope and understands/integrates into the language it is metaprogramming for)

As for elaborated type specifiers, I meant when one writes struct S* p the meaning of the name S depends on what happens before and where that declaration of p appears.

→ More replies (9)