Hacker News new | ask | show | jobs
by pjmlp 1186 days ago
That modern pratice is more theory than practice, even on sample code from ISO C++ members.
2 comments

No, it’s not just theory. Like anything in C++, codebases and their styles widely vary. But my comment holds true for the vast majority of developers I have worked with over the last decade. With the exception of the special “placement new“ operator, it is nearly obsolete to use new and delete.
I suggest browsing around code from Microsoft, Google, Apple,...

Plus there are those tons of enteprise code, hardly the "vast majority".

The only place I see modern C++ as advocated, it at C++ conference talks, and my own hobby coding.

Hmm, I was at G until the recent decimation, and would have been surprised to see `new`, especially in new (heh) code, because it immediately raises the question of ownership, which means it costs time for every future reader.

Taking chromium as a proxy (though the style isn't identical), there are currently 5 or 6 times as many `make_unique` as `new`. (Some false positives on the word ‘new’ in strings, because I don't remember how to exclude them.)

https://source.chromium.org/search?q=\bnew\b%20lang:c%2B%2B%...

https://source.chromium.org/search?q=\bmake_unique\b%20lang:...

Now search for C arrays and strings, old style enums, str...() and mem...() functions, C style casts, preprocessor macros,..
That’s called whataboutism.
Nope, it is called experience with large code and teams.
If you are going to work with a legacy codebase, then sure. My comment was more about fresh codebases, which are fortunately the only ones I've worked on.
A niche in the C++ world.
I would argue it is not for me at least. In my 2 current C++ commercial products of fair size one has single explicit allocation, the other does not have any.

If I was writing for example libraries of custom high performance containers the situation would have been different but still highly localized. And it is sort of very specialized type of development anyways.