C ++ da solo è un linguaggio enorme come lo è Java. Potrei ragionevolmente aspettarmi che un esperto, un veterano ricordi tutti Scheme, Python o C, ma non c'è vergogna nell'uso dei riferimenti.
Direi che l'apprendimento di tecniche di programmazione genericamente applicabili e il ricordare gli elementi di stile per ogni lingua, cercando di ricordare l'intera sintassi. Non sono sicuro che sia possibile in alcuni casi, in particolare considerando la quantità di lingue che possono cambiare.
Lavoro in una libreria tecnica e vendo abitualmente manuali di riferimento a professionisti esperti e con esperienza. Meglio sapere che esiste una tale tecnica per "cosa x" e non ricordare la sintassi o la semantica esatte che non sapere che "cosa x" esiste. Ecco perché esistono queste cose. Ti stai collegando e pensi "conosco qualcosa che funzionerebbe bene qui" e forse trovi che sia sbagliato per quel linguaggio ma il riferimento se è buono e hai una solida conoscenza dei fondamentali ti darà dei suggerimenti ( a volte letteralmente) verso una soluzione.