I think it's an excellent language if the only sepples features you use are:
- Templates (don't do anything more than what Java's generics does; avoid metaprogramming spaghetti shite or face the compiler errors)
- Basic classes (no private data or any OOP-zealotry crap)
- Exceptions (again, only if you use it for truly exceptional cases)
- Lambdas
- constexpr (a less powerful sort of defmacro)
- auto
All of the above features are good because they remove boilerplate from typical C code. Unfortunately it's easy to start using the steaming piles of shit that are the rest of the language features. That's why it makes a lot of sense to use pure C. The lesson here is to use C when you're programming with others, and C++ when you're working on something yourself.