4 ms·
CLion does the correct replacement on it's right click fix actions. Just if anyone using is reading.
by a1o 2y ago
CLion does the correct replacement on it's right click fix actions. Just if anyone using is reading.
- the_mitsuhiko 2y agoAnd what is the right fix? Does it recommend std::move with push_back or does it use emplace?
- a1o 2y agoThe one from clang-tidy the author mentions.
- the_mitsuhiko 2y agoI personally consider that to be a bad recommendation and my understanding is that the author also objects to it. I would bet most people are unaware of how emplace actually works and for a reviewer it's more cognitive overhead too.
- sumeno 2y ago> I would bet most people are unaware of how emplace actually works and for a reviewer it's more cognitive overhead too. If you are doing professional development in C++ you should learn the difference and how to recognize incorrect usages
- the_mitsuhiko 2y agoI'm unconvinced. emplace is inherently more complex and requires a complete understanding of the relevant constructors of the value type in the collection. push_back is much less surprising. I'm not a professional C++ developer, but I'm obviously required to use the language every once in a while and I vastly prefer code that requires me to have to look at fewer implementations of potentially implicit and hidden things.
- TillE 2y agostd::make_unique does the exact same kind of forwarding arguments to a constructor. Yeah it's important to know which constructor you're calling, but that's just a general fact, emplace_back isn't exceptional.
- throwaway2037 2y agoIs this thanks to clang-tidy integration?