Как учить C++: полезные материалы
«Программирование: принципы и практика с использованием C++»
Автор: Бьёрн Страуструп
Кому почитать: тем, кто ещё никогда не программировал, но готов серьёзно учиться
Страуструп — автор языка C++ и большинства его первых библиотек. Книгу часто используют в университетах при изучении программирования. Но можно работать с ней и самостоятельно: читать главы по порядку и знакомиться с примерами.
Автор обращает внимание на основные концепции, методы дизайна и программирования, особенности языка C++ и его библиотек. Книга рассчитана на изучение основ за три месяца.
«Язык программирования C++»
Автор: Бьёрн Страуструп
Кому почитать: тем, кто имеет хотя бы небольшой опыт программирования
Ещё одна книга создателя языка C++. Если первая — введение в программирование, то эта — классический учебник по C++. Автор предлагает:
-
базовое руководство по языку;
-
полное освещение средств языка, нацеленных на абстрактные типы данных и объектно ориентированное программирование;
-
описание способов построения библиотек высокого класса;
-
примеры реализации ключевых типов данных — графических объектов, ассоциативных массивов и потоков ввода-вывода.
Четвёртое издание описывает версию C++11. Но полученные знания будут актуальны для любой версии языка.
«Эффективное использование С++. 55 верных способов улучшить структуру и код ваших программ»
Автор: Скотт Майерс
Кому почитать: тем, кто знаком с основами C++
Майерс — один из главных экспертов по С++. В книге он уделяет мало внимания основам программирования и синтаксису C++, зато подробно рассказывает о низкоуровневой разработке, логике, использовании интуиции для поиска решений. А ещё подсказывает, как выбирать библиотеки и вырабатывать собственный стиль кода. Книга помогает понять, что такое плохой код и откуда он берётся.
«Эффективный и современный C++»
Автор: Скотт Майерс
Кому почитать: тем, кто владеет языком C++ на начальном уровне
Если предыдущая книга больше касается общих принципов программирования на C++, то эта посвящена особенностям спецификаций 11-й и 14-й версий языка. Правда, после них уже вышли 17-я и 20-я версии, но предыдущие вовсю используют в продакшене.
«Осваиваем C++17 STL»
Автор: Артур О’Двайр
Кому почитать: тем, кто хорошо разбирается в языке и хочет освоить библиотеку C++17 STL
Автор рассказывает об особенностях спецификации C++17 на множестве примеров, учит создавать свои типы итераторов, диспетчеры памяти, пулы потоков выполнения. Читатель узнает, чем различаются мономорфизм, полиморфизм и обобщённые алгоритмы. Основательное знакомство с языком C++ — обязательное условие для понимания книги.
«С++20 в деталях»
Автор: Райнер Гримм
Кому почитать: тем, кто хорошо разбирается в языке и хочет освоить C++20
С++20 сильно отличается от 17-й версии, поэтому прочитать эту книгу стоит каждому разработчику, который не думает о завершении карьеры. Вы получите представление о ключевых изменениях в ядре языка, новой библиотеке диапазонов, корутинах. Можно использовать книгу как справочное руководство, изучая главы в удобном порядке.