Ich glaube nicht, dass es eine allgemein akzeptierte Definition dessen gibt, was "exzellentes" Wissen über C ++ ausmacht.
Es ist in der Regel schwierig, eine klare Antwort darauf zu finden, was "gute", "ausgezeichnete", "hervorragende" (usw.) Kenntnisse in einer Sprache, einem Framework, einer Plattform oder was Sie haben. In vielen Fällen ist es besonders schwierig, eine klare Grenze zwischen wirklich nützlichem Wissen und dem Wissen um viele Kleinigkeiten zu ziehen.
Dies gilt insbesondere für etwas wie C ++, das es schon seit Jahrzehnten gibt, das auf viele verschiedene Arten angewendet und in dieser Zeit in vielen verschiedenen Stilen geschrieben wurde. Es gibt eine beinahe beängstigende Menge, die jemand über die Sprache lernen könnte , die fast nichts damit zu tun hat, sie zur guten Lösung von Problemen zu verwenden. Das Kennen aller Regeln wie Überlastungsauflösung oder teilweise Anordnung von Funktionsvorlagen ist wahrscheinlich nur dann hilfreich, wenn Sie versuchen, jemanden für die Arbeit an einem Compiler (oder etwas sehr Ähnlichem) einzustellen. Ich habe C ++ verwendet, seit es zum ersten Mal einigermaßen verfügbar war, und habe noch keine teilweise Reihenfolge von Funktionsvorlagen in echtem Code verwendet (oder sogar wollen).
Obwohl ich technisch nicht auf die gestellte Frage reagiere, beeile ich mich, jedem, der solche Anforderungen in Stellenanzeigen enthält, zu raten, ein gewisses Gleichgewicht im Auge zu behalten. Ich denke, dass übermäßige Betonung oft auf Programmiersprachen gelegt wird, auf Kosten von Dingen wie Problemlösungsfähigkeit und allgemeinen Algorithmen. Wenn man eine Programmiersprache gut kennt, kann man Lösungen gut ausdrücken , aber normalerweise hilft sie (bestenfalls) beim Entwerfen der Lösung selbst nur minimal. Eine großartige Lösung, die schlecht ausgedrückt wird, schlägt praktisch immer eine mittelmäßige Lösung, egal wie gut sie ausgedrückt wird.