Я вообще думаю, что с++ не очень удачный язык для обучения с нуля. Все принципы ООП и функционального программирования будут спрятаны за сложностью самого синтаксиса языка. Я уж не говорю, что наштамповали кучу стандартов и язык за последние 10 лет очень изменился, а ещё есть очень большая разница с каким фреймворком его использовать. Так с++ + mfc это совсем не то же, что и c++/qt или .netовский с++.
Рекомендую изучить основные концепции программирования на более лёгких языках (тот же python) и потом уже по необходимости переходить на кресты.
Касательно литературы полностью поддержу ответ коллеги выше. Страуструповская книга будет очень тяжела для чтения. Она скорее как она справочник хороша.