Исчерпывающий список книг для знакомства с C++
Fundamentals of Programming C++
Книга содержит огромное количество материала по C++ и явно стремится осветить все основные аспекты языка. В ней вы найдете информацию как про базовые элементы C++, так и про использование библиотеки STL. Автор постоянно обновляет книгу, благодаря чему в ней представлена актуальная версия языка. Множество примеров, как кода, так и работы программы, позволят более эффективно освоить пройденный материал.
C++ Annotations
Книга рассчитана в первую очередь на тех, что уже знает язык Си или Си-подобный язык, например, Java. Поэтому она не рассказывает об общих моментах, которые одинаковы или, по крайней мере, очень похожи в таких языках, а сразу преподносит материал, присущий только языку C++. Поэтому если вы изучаете или уже изучили Си или Java, то эта книга станет вашим подспорьем в изучении C++. А если нет, то предлагаем вам посмотреть на наши подборки замечательных книг по Си и Java.
C++ Succinctly
Книга написана специально для профессиональных C#-разработчиков. Она дает материал по языку C++ с учетом имеющихся у программиста знаний о языке C#. Книга несомненно полезна, когда предстоит работать с проектом, часть которого написана на C++, а вы знаете лишь C#. После изучения материала вы сможете писать полноценные программы уже на C++.
Программирование. Принципы и практика с использованием C++
Книга написана создателем языка C++ — Бьерном Страуструпом. Материал ориентирован в первую очередь на тех, кто не был знаком с программированием до прочтения этой книги. Она задумана в качестве введения в искусство программирования, а язык C++ играет скорее иллюстративную роль. Здесь не удастся найти информацию обо всех возможностях данного языка программирования, зато можно получить полезные советы и рекомендации для более эффективной работы с C++ от человека, который имеет бесценный опыт в программировании и огромный вес в сообществе программистов.
Язык программирования C++. Лекции и упражнения
Стивен Прата известен каждому программисту, знакомому с языком C++. Он стремился вложить свой преподавательский опыт в эту книгу. В результате получился монументальный труд, который дружественно относится к читателю и понятным языком поясняет фундаментальные основы данного языка программирования. Однозначно рекомендуется к прочтению.
The Rook's Guide to C++
Данный учебник является трудом автора и его 25 студентов, большинство из которых — новички в C++. Большая часть книги была написана совместными усилиями примерно за 36 часов. Сам автор признается, что будь у него бесконечное количество времени, он бы отполировал книгу до блеска. Все это сделано с целью удешевления производства книги и, как следствие, выпуска ее в свободном доступе для всех желающих. В ней могут быть ошибки, но в целом в книге представлен достаточно неплохой материал по языку C++.
Learn C++
В нашу подборку книг затесался сайт. Вы думаете, это какая-то ошибка? Как бы не так! Он здесь совсем не случайно. Это онлайн-учебник по всему С++. Его несомненное преимущество в том, что каждая глава богато иллюстрирована кодом, так что материал будет легче усвоить. Все расписано достаточно подробно, но самое главное — материал постоянно дополняется в соответствии с новыми стандартами C++.
Изучаем C++ через программирование игр
Пусть эта книга и освещает только самые базовые элементы языка, ее несомненный плюс в том, что она предлагает закреплять полученные знания путем создания небольших игр. В каждой главе дан определенный игровой проект, на примере которого поясняется, как можно использовать «фишки» языка. Книга подойдет и тем, кто до нее не был знаком с программированием.
Объектно-ориентированное программирование в С++
Книга Роберта Лафоре из серии «Классика Computer Science». В ней очень грамотно и полно представлено понятие объектно-ориентированного программирования в C++. Кроме теории, книга предлагает читателю сделать около 100 различных упражнений, которые отточат навык владения основами ООП. Отлично подходит для начинающих программистов.
Structured Programming with C++
Книга, как понятно из названия, научит вас основам структурного программирования. В первую очередь, она стремится донести до читателя, что такое «думать как программист», а уже во вторую — обучить вас языку C++. Материал представлен в удобочитаемой форме. Как и во многих книгах, здесь есть материалы для самопроверки в каждой главе и ответы в конце книги. Автор подчеркивает, что книга фокусируется именно на решении типовых проблем и задач, возникающих при написании программы.
Software Design Using C++
Еще одна онлайн-книга, которая дает материал в соответствии с тремя курсами, которые обычно в американских университетах называются CS 1, CS 2 и «Структуры данных». Новичкам стоит начать именно с изучения материала для курса CS 1, поскольку в нем даются основы программирования на C++. Когда вы освоите данный курс, то можете перейти на следующую ступень и изучить CS 2, а затем уже и структуры данных. http://cis.stvincent.edu/html/tutorials/swd/
Харви и Пол Дейтелы в своей книге решили отойти от привычного порядка введения в C++ и уже с третьей главы знакомят читателя с основами ООП, тем самым не освещая должным образом структурное и процедурное программирование. Большое внимание уделяется объектно-ориентированному проектированию программных систем с помощью графического языка UML2. Данный учебник является одним из самых популярных в мире по C++.
Язык программирования С++. Cтандарт C++11. Краткий курс
Книга представляет собой быстрый (примерно 180 страниц и 14 глав) обзор возможностей С++ и его стандартной библиотеки (стандарт С++11) на достаточно высоком уровне для программистов, которые уже знакомы с языком, или, по крайней мере, имеют значительный опыт в программировании. Эта книга — расширенная версия материала глав 2-5 из четвертого издания «Языка программирования С++».
Язык программирования C++. Базовый курс
Тысяча страниц очень подробного введения в C++, которое детально покрывает буквально все аспекты языка в доступном формате. С самого начала книги читателя знакомят со стандартной библиотекой C++, ее самыми популярными функциями и средствами, что позволяет в скором времени приступить к написанию программ, даже если не были изучены некоторые нюансы языка. Пятое издание (выпущено 16 августа 2012-ого) обновлено для С++11.
How to Think Like a Computer Scientist
Цели этой книги — научить вас использовать язык C++ и мыслить, как исследователь. Она делает акцент на использовании языка C++ как удобного инструмента для научных вычислений. Для знакомства с этой книгой желательна хотя бы математичекая подготовка. Вы научитесь четко формулировать проблему и затем представлять себе ее решение. И только после этого писать код и проводить тесты.
An Introduction to GCC
В отличие от других книг из данной подборки, эта не стремится вас научить языку C++. Она про совершенно иное, а именно про компиляцию проекта в gcc и g++. Если вы считаете, что достаточно провести компиляцию проекта без дополнительных настроек, то эта книга вам докажет обратное. После ее прочтения вы узнаете обо всех аспектах компиляции программ, а также о базовых функциях компилятора, позволяющих отлаживать и оптимизировать код программ.
Эффективное программирование на C++. Практическое программирование на примерах
Содержит в себе все то же самое, что и «Учебник для начинающих: С++», но короче в 4 раза. В основном это из-за того, что автор не пытается ввести читателя в программирование, а сразу учит С++ тех, кто пришел с других языков. Может быть немного сложна для понимания, но тем, кто сможет осилить курс, это еще и здорово сократит время изучения.
Упражнения
http://www.stroustrup.com/4thExercises.pdf
Раздел упражнений расположен на официальном сайте создателя языка, Бьерна Страуструпа. Его не стали выпускать в печатном виде, поскольку раздел постоянно обновляется. Документ содержит множество упражнений различных уровней. Данный показатель указывается рядом с номером упражнения. Например, уровень (*1) означает, что задачу вполне реально решить за 10 минут, (*2) — за час, а на (*3) вы можете потратить целый день. Конечно, эти показатели не точные и целиком зависят только от вашего опыта, так что дерзайте! Чем больше задач вы решите, как легких, так и сложных, тем больше вы освоите инструменты несомненно мощного языка C++.
Open Data Structures
Автор этой книги, Пэт Морин, считает, что студентам компьютерных специальностей необходимо изучать структуры данных, но в большинстве случаев хорошие книги по этой теме стоят немало, и студенты не могут приобрести их ввиду их материального положения. А бесплатные книги по структурам данных уже порядком устарели ввиду нескольких причин. Поэтому он решил написать собственную книгу, которая в полной мере освещает данный курс, содержит только актуальную информацию, и самое главное — свободно распространяется.
Data Structures and Algorithm Analysis
Фокус книги сосредоточен на создании эффективных структур данных и алгоритмов. После ее прочтения вы научитесь выбирать или проектировать структуру данных, наиболее подходящую в той или иной части программы. Хороший вариант для изучения этой темы.
Если будут итересовать книги по категориям, то можно ознакомиться с этим в статье сообщества Physics.Math.Code:
Список книг для обучения программированию на C++
Там найдете книги для каждого пункта
[1] Исчерпывающий список книг для знакомства с C++
[2] Исчерпывающий список книг для углубления в C++
[3] Исчерпывающий список книг для совершенства в C++
А цель изучения какая?