> Sometimes people think they know their favorite language, but most would fail a language puzzle quiz.
But that is especially true for C++. People who are confident in knowing it often lack the fundamental C knowledge (i.e. pointer arithmetic, the complete C type system, the subtle conversion and promotion rules, etc.), but would insist on knowing C++ very well just because they know how to define classes, virtual functions and throw a shared_ptr or a vector or a map at every problem.
And most people that say that they know C and how simple the language is, cannot differentiate between their compiler extensions and what is written in ANSI C.
Nor can they correctly point out all the cases of expected semantics, UB and implementation specific behaviour.
Regarding the fundamental C knowledge, part of it just leads to bad C++ code.
Sometimes people think they know their favorite language, but most would fail a language puzzle quiz.