I am not sure where you are going with that. C++ is largely popular and enduring for the same reasons as Java: institutionalization (taught in school).
This isn't wrong and that is one of the largest issues people have with C++: if something is syntactically correct in a language, chances are you'll find it in any relatively big codebase - and with C++ there are a LOT of things that are syntactically correct.
It may feels nice preaching that C++ is only whatever subset you may like (and there are a LOT of C++ programmers, or "programmers who write code that happen to be accepted by C++ compilers" if you prefer, that do that - personally i like pre-C++98 subset that was implemented in Borland C++ Builder 1) but in practice when you have to deal with a real world big C++ codebase (especially something you didn't write yourself and didn't start last month) you'll see all the faces of C++ at the same time, either you like it or not.
I'm not aware of any place where C++ is taught. (And in fact C++ programmers are very hard to find.)
C is very common and anybody with even a bit of format education has been exposed to C.
Then you get people who know a bit of C and throw in a couple 'class' and a couple 'cout', and call it 'C++' for some reason.
Which is wrong, obviously.