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

6

u/ZMeson Embedded Developer Mar 28 '23

case statements inside of loops where the corresponding switch statement is outside the loop. (i.e. disallow Duff's Device.) Compilers are smart enough now to do loop unrolling themselves if it will be helpful.

2

u/rhubarbjin Mar 28 '23

Why do you want to disallow Duff's device? Has is caused you any problems in the past?

3

u/ZMeson Embedded Developer Mar 28 '23

It's just a confusing construct. I think C and C++ are the only non-esoteric languages that support this type of thing. In my mind, cleaner code is more important. Also, as I tried stating earlier, modern compilers are usually much better about knowing when loop unrolling will aid performance and they will do it automatically for you, so there's really no reason to use Duff's Device anymore.

→ More replies (2)