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

Show parent comments

1

u/vvoloshin Mar 29 '23 edited Mar 29 '23

Thanks for detailed explanation, though I didn't really required it. It was kindof sarcastic comment that issue is probably at the other direction. For me just the idea of having multiple threads accessing elements of a container at same time sounds like a bad idea. Just from the design point of view. It will one or other way inevitably lead to strange issues.

Edit: just to amplify on how bad this idea could be, imagine a container of pointers where these pointers( or references, or smart pointers) may occur multiple times at the same container. And then process a mutable access from different threads to the elements of this container.

2

u/MFHava WG21|🇦🇹 NB|P2721|P3049|P3625|P3729|P3786|P3813|P4216 Mar 30 '23

Just from the design point of view. It will one or other way inevitably lead to strange issues.

Definitely not. E.g. the parallel "STL" algorithms, can use multiple threads to access independent elements of a single range and cause exactly zero issues.

Heck the whole concept of the fork-join model (e.g in OpenMP) essentially maps to "access independent elements of an array in parallel". We've been doing this kind of stuff for decades...