Средний уровень - это книги Скотта Майерса из серии "Эффективное использование С++/STL".
Высший уровень - это книга Андрея Александреску "Современное проектирование на С++". Она немного устарела, но всё равно изменяет мышление необратимо. Она способна сломать человека. После её изучения люди либо становятся истинными фанатами С++ и презирают все другие языки, поскольку ни один другой язык таких возможностей не даёт, либо ломаются и полностью разочаровываются в С++. Если нет уверенности в том, что С++ - это правильный выбор, то лучше сразу заглянуть одним глазком в Александреску, и либо обалдеть, либо прийти в уныние.
Но, вообще говоря, язык в программировании - не главное. Для того, чтобы хорошо программировать, нужно изучать алгоритмы и структуры данных. Есть соответствующие книги с примерами на С++. Например, Роберт Седжвик "Алгоритмы на C++".
язык в программировании - не главное
+1