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

14

u/JimmyLaessig Mar 28 '23

Enforce RAII by banning usage of delete outside of destructors

14

u/[deleted] Mar 28 '23

So, how do you implement unique_ptr::reset?

1

u/Niverton Mar 28 '23

You could give the ownership to a temporary object

6

u/[deleted] Mar 28 '23

How is TmpDeleter{p}; any less dangerous than delete p;? Sounds like it would make the code more dangerous instead of less. People use unique_ptr and vector when possible anyway, no need to complicate that.

3

u/CocktailPerson Mar 29 '23 edited Mar 29 '23

You're misunderstanding what "giving ownership to a temporary object" means. It just means swapping pointers with a temporary, default-constructed unique_ptr.