Предлагаю такой марафон:
1. Доусон Майкл - Изучаем C++ через программирование игр.
Небольшая книга, полна красивых манипуляций с CPP-классами, разобраны некоторые приемы ООП, и все снабжено настолько показательными и красивыми примерами, что остается только снять шляпу.
2. После этого рекомендую взять Солтера:
"Солтер - C++ для профессионалов".
Книга очень полезная в качестве самоучителя при имеющемся наборе знаний, а также в качестве справочника. Довольно большая, на 900 страниц, но после Доусона некоторые главы Вы будете пролистывать по диагонали, так что много времени (даже если читать от корки до корки) это не займет.
3. Однако книга Солтера не переиздавалась с 2006 года. Она осталась актуальной, но перестала быть полной, поэтому прочтите тонкости и фишки новых стандартов:
c++11, c++14 и можете замахнуться на c++17, если останется время и будет необходимость. Специальную книгу для этого искать необязательно - просто погуглите.
4. Для полноты картины прихватите
"Гамма, Хелм... - Приемы объектно-ориентированного программирования. Паттерны проектирования". Книга концептульных идей про то, как организовывать структуру и взаимодействие классов. Знания эти применимы к любому объектно-ориентированному языку, но в ней примеры разбираются именно на C++, что очень удобно. Уж не знаю, прочтете ли Вы ее всю, сразу или нет, но держать под рукой не помешает.
И вот Вам дополнительная
ссылка на шпаргалку по паттернам, чтобы было проще ориентироваться в книге.
5. Если Вам понадобится строить интерфейсы, возьмите книгу по библиотеке Qt
"Шлее - Qt 4.8". По Qt есть еще книга товарищей Бланшет и Саммерфилд, но мне она понравилась меньше.
Пункты 1,2,3 - рекомендуемые. Пункт 4 - рекомендуемый в долгосрочной перспективе. Пункт 5 - популярный (в т.ч. среди работодателей).6. Керниган, Ритчи - язык программирования C. Формально язык C++ - это надмножество языка C с полной обратной совместимостью. Книга очень короткая и очень простая. Прочтите, чтобы получить полную картину.