"...because it is Dr S, and because there is a slight, defensive hint of Dr P-for-Pangloss about him..."
I have noticed this too: he manages to explain any aspect of C++ as exactly what you want, or at least the only sensible option. While reading 'The Design and Evolution of C++', I realized how he does this: at the start, he outlines a number of goals that are each worthy, but which are, in many cases, mutually antagonistic. He is then able to pick a subset of those goals to justify almost any aspect of the language.
I sometimes wonder if a simpler, yet equally capable language could be achieved if one or more of these goals could be dropped, and I think the best candidate would be the 'superset of C' one, though I understand the reason for it.
While C++ can be frustrating, there are many cases where it is the best choice. It is also a language, like Smalltalk, Lisp and its variants, assemblers, and C itself, that can teach you a lot about programming in general. C++ and Objective-C came along at about the same time, and the latter was sometimes described as 'more object-oriented', so I sometimes wondered if it was a better choice, until I actually got to use it...