C++ is a language with lots of noise in it distracting you from the real logic you are trying to implement. When you code you should not be wasting time defining a copy constructor or assignment operator private just so you don't burn your butt accidentally for example. A language with such kinda bizarre gotchas is a badly designed one and drains energy away from developers.
C++ needs to clean itself up. Get rid of the useless language traps and make it at least intellisense-able and refactor-able FGS. Perhaps we need a language D that has the native perf edge while without the juvenile language goofs.