Ох, ну сейчас я накидаю список.
Язык Си
Поскольку язык С++ включает в себя язык Си, который намного проще изучить, я бы советовал начинать с него. В частности с Шилдта - "Полный справочник по Си". Это единственная книга, в которой я не встретил просто кучу устаревшей информации с ошибкой в каждом втором примере(привет книге K&R).
Однако, изучение Си не обязательно, хотя я и рекомендую.
Что же касается самого с++
-
Роберт Лафоре - "Объектно-ориентированное программирование в С++"
Замечательная книга по С++ для новичков. Написана простым, лаконичным и понятным языком, материал разбирается детально и подробно. Рекомендую как самую первую по С++. Есть примеры для решения. Читать, одно удовольствие. Единственный минус, которыя я отметил - автор сильно и часто перехваливает достоинства языка по тексту книги.
-
Герберт Шилдт - Полный справочник по C++
Прочитав Лафоре, можно углуюлять в детали языка и посмотреть своеобразный справочник-учебник по С++. Здесь будет сказано все то, чего не было сказано в первой книге.
Далее идет список, который я не читал, но книги из него рекомендуют так же на многих ресурсах как самые лучшие.
- Брюс Эккель, Чак Эллисон - "Философия C++. Введение в стандартный C++."
- Брюс Эккель, Чак Эллисон - "Философия C++. Практическое программирование."
- Стенли Липпман, Жози Лажойе - "Язык программирования C++. Вводный курс"
- Стенли Липпман - "Основы программирования на С++. Том 1"
Отлично, это был С++, но так же есть его библиотека STL, которой посвящены так же отдельные книги и Boost. А так же разбор продвинутых техник программирования на С++.
- Питер Нортон Скотт Мейерс - "Эффективное использование STL"
- Николай Джосьютис - "C++ Стандартная библиотека. Для профессионалов."
- П. Плаугер, А. Степанов - "STL. Стандартная библиотека шаблонов C++"
Обязательно ознакомьтесь потом с BOOST, книг к сожалению не знаю.
- Питер Нортон Скотт Мейерс - "Наиболее эффективное использование C++. 35 новых способов улучшить стиль программирования."
- Нортон Скотт Мейерс - "Эффективное использование C++. 50 рекомендаций по улучшению ваших программ и проектов."
- Питер Нортон Скотт Мейерс - "Эффективное использование C++. 55 верных советов улучшить структуру и код ваших программ."
- Герб Саттер - "Новые сложные задачи на C++"
- Герб Саттер - "Решение сложных задачи на C++"
-
Андрей Александреску, Герб Саттер - "Стандарты программирования на С++. 101 правило и рекомендация"
-
Не забудьте прочитать книгу четырех о шаблонах проектирования.
Страуструп
Если Вы прочитали множество приведенных книг и получили достаточно опыта, то самое время переходить к трудам Страуструпа. Книги его написаны академическим языком и читаются достаточно сложно. Некоторые рекомендуют начинать с него, но только от того, что сами с него начинали, когда на рынке больше никакой годной литературы не было. ОДнозначно не берите его первым, но он обязателен для хорошего программиста С++.
Еще не надоело клепать скучные консольные приложения? Самое время перейти к изучению QT.
Или же изучения программированию под Windows.
QT
- Макс Шлее "Qt 4.8. Профессиональное программирование на С++"
- Бланшет, Саммерфилд - "Qt4 Программирование GUI на С++"
- Марк Саммерфилд - Qt Профессиональное программирование (High tech) - 2011
- Андрей Боровский - Qt4.7+. Практическое программирование на C++ - 2012
Немного Windows мозгодробилки, но вместо WinAPI можно почитать что-то более высокоуровневое, всякие там MFC, WTL. Да, первые две книги для windows 95, но с тех пор WinAPI вообще не менялся, книги являются отличным пособием.
- Чарльз Петцольд - "Программирование для Windows 95. Том 1"
- Чарльз Петцольд - "Программирование для Windows 95. Том 2"
- Джеффри Рихтер - "Windows для профессионалов"
Ну в общем-то сюда еще можно добавлять всякие нужные книги, прямо не связанные с С++, но думаю вы и сами на них натолкнетесь в процессе изучения. Так же всякие DirectX, OpenGL, базы данных и т.д и т.п. Что-то можно высмотреть еще тут: хорошие книги по С++
А еще, если вы windows ориентированный разработчик, лучше использовать для проектирования интерфейса GUI язык C#, а на С++ писать для него библиотеки. Но это уже потом.
Удачи, если вы захотели стать профессионалом в области С++.
И помните про статью: Научитесь программировать за десять лет (Питер Норвиг).