Partendo dalla banale considerazione che conoscere un linguaggio di programmazione NON VUOL DIRE saper programmare, e per imparare il C++ non basta uno o un paio e diversi libri, ma PARECCHI ANNI, e PARECCHI LIBRI, la tua domanda e' relativamente senza significato.
Per C++, COME MINIMO ti serve il testo di bjarne stroustrup (l'inventore del C++) PIU' un libro sulle STL PIU' un libro sui template, PIU' i libri sulla libreria boost, PIU' i libri sulla programmazione ad oggetti, quelli sulla programmazione funzionale, quelli sulla programmazione concorrente, sui design patterns, come minimo.
Poi tutto il resto.
Conoscere un linguaggio di programmazione e' come conoscere una lingua parlata, ad esempio l'Italiano.
Ma saper scrivere un programma e' come saper scrivere un racconto di fantascienza, ad esempio: non tutti quelli che conoscono l'Italiano sanno scrivere un racconto, ma tutti quelli che sanno scrivere un racconto, conoscono l'Italiano.
Inoltre, per saper scrivere un racconto, NON BASTA conoscere l'Italiano.
In conclusione: NON BASTA un solo libro, NON BASTANO diversi libri, anche se studi bene ogni singolo argomento, NON BASTA ANCORA.
Quando bastera'? In prima approssimazione, MAI, perche' ci sara' sempre qualcosa altro da imparare