Книги и учебные ресурсы по С++

164
05 октября 2018, 08:40

В этом вопросе собирается литература по языку C++

Формат:

Имя Фамилия — «Название книги целиком и полностью», ГГГГ г..

Формат для переведенной литературы:

Имя Фамилия (Name Surname) — «Название книги целиком и полностью», ГГГГ перевода ("Full name of the book", YYYY )

  • Не создавайте новых ответов — редактируйте этот.
  • Не размещайте ссылки на нелегальный контент вроде торрент-трекеров.
  • Старайтесь сохранять разделение по категориям.
  • Сохраняйте алфавитную (лексикографическую) сортировку по названию книги. (когда она будет)

Данный перечень входит в поддерживаемый сообществом Сборник учебных ресурсов по программированию.

Answer 1

Если сомневаетесь в выборе, следуйте простым и объективным рекомендациям в конце этого ответа.

Для начинающих
  • Стефан Рэнди Дэвис - C++ для чайников, 7-е издание
  • Сиддхартха Рао - Освой самостоятельно C++ по одному часу в день
  • Брюс Эккель (Bruce Ekkel) — Философия C++. Введение в стандартный C++
  • Брюс Эккель (Bruce Ekkel) — Философия C++. Практическое программирование
  • Стенли Липпман, Жози Лажойе, Барбара Э. Му — Язык программирования C++. Вводный курс (C++ Primer)
  • Стенли Липпман — Основы программирования на С++. Том 1 (Essential C++)
  • Роберт Лафоре — Объектно-ориентированное программирование в С++
  • Бьерн Страуструп (Bjarne Stroustrup) — Программирование. Принципы и практика с использованием С++. 2-е изд. (Programming: Principles and Practice Using C++)
  • Эндрю Кёниг, Барбара Э. Му (Andrew Koenig, Barbara E. Moo) — Эффективное программирование на C++. Серия книг "C++ In-Depth", 2002 (Accelerated C++: Practical Programming by Example, 2000)
    Учебник по основам C++ для тех, кто уже имеет некоторый опыт программирования на других языках.
  • Герберт Шилдт — C++ базовый курс
    Существует мнение, что эта книга содержит достаточно много неточностей и ошибок. Тем не менее, она популярна в роли книги для начального обучения.
Для среднего уровня
  • Николаи М. Джосаттис (Nicolai M. Josuttis) — Стандартная библиотека C++: справочное руководство, 2-е издание, 2014 (The C++ Standard Library - A Tutorial and Reference, 2nd Edition, 2012)
  • Скотт Мейерс (Scott Meyers) — 55 верных советов улучшить структуру и код ваших программ (Effective C++: 55 Specific Ways to Improve Your Programs and Designs)
  • Скотт Мейерс (Scott Meyers) — Наиболее эффективное использование C++. 35 новых рекомендаций по улучшению ваших программ и проектов (More Effective C++: 35 New Ways to Improve Your Programs and Designs)
  • Герб Саттер — Решение сложных задач на С++ (Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions.)
  • Герб Саттер — Новые сложные задачи на C++ (More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, and Solutions)
  • Бьерн Страуструп (Bjarne Stroustrup) — Язык программирования С++ (The C++ Programming Language)
  • Андрей Александреску (Andrei Alexandrescu ) — Современное проектирование на C++ (Modern C++ Design: Generic Programming and Design Patterns Applied)
  • Герб Саттер, Андрей Александреску — Стандарты программирования на C++
Для высокого уровня
  • Бьерн Страуструп (Bjarne Stroustrup) — Дизайн и эволюция C++ (The Design and Evolution of C++)
  • Стенли Липпман (Stanley Lippman) — (Inside the C++ Object Model)
  • Скотт Мейерс — Эффективный и современный C++ (Effective Modern C++)
  • Питер Готтшлинг — Современный C++ для программистов, инженеров и ученых (Discovering Modern C++: A Concise Introduction for Scientists and Engineers (C++ In-Depth Series))
  • Курт Гантерот — Оптимизация программ на C++
  • Дэвид Вандевурд, Николаи М. Джосаттис, Дуглас Грегор Шаблоны C++. Справочник разработчика, 2-е издание
  • Энтони Уильямс — Параллельное программирование на С++ в действии
Документация

Где взять стандарт C++?

  • Е.А. Зуев, А.А. Чупринов Стандарт С++: перевод, комментарии, примеры. — Москва: ООО «ВАШ ФОРМАТ». — 2016 г. — 888 с.
Несколько слов о выборе книг от сообщества StackOverflow

Все книги, представленные здесь, достаточно хороши (@avp подтверждает, что хорошие книги по программированию есть). Мы постарались сгруппировать их по категориям сложности на основе собственного субъективного мнения. Мы стараемся, чтобы в списке были только хорошие книги, но не сможем выбрать лучшую для вас. Пробуйте читать разные книги и найдите её самостоятельно. Если будет сложно — возьмите попроще, скучно — посложнее.

@Vlad рекомендует: если вы не можете выбрать сами, берите книгу номером, равным дню вашего рождения % размер списка.

Ещё @Igumnov просил передать, что лучше бы вы учили C++ не первым языком. @PashaPash считает, что можно и первым, но не в коем случае не C перед C++!

Надеюсь, наши субъективные и противоречивые мнения помогли вам понять основную идею: вы должны сами решить, что вам читать и чему учиться. Идеальную, нужную именно вам книгу можете выбрать только вы сами. С уважением, @NickVolynkin.

Вот вам карта, чтобы сориентироваться (картинка кликабельна):

READ ALSO
winrtrunner.exe не найден

winrtrunner.exe не найден

Пытаюсь прописать quickcontrol2 в про файл

703
Отобразить в QLabel определенный кусок QPixmap

Отобразить в QLabel определенный кусок QPixmap

Делаю анимацию, по таймеру меняется кадр, анимация состоит из 1-й картинки, в которой нарисован каждый кадр

131
Удаление элемента std::vector C++

Удаление элемента std::vector C++

Есть следующий код:

196
Как добавить элемент в вектор по указателю?

Как добавить элемент в вектор по указателю?

Программа крашится в рантайме при попытке исполнить

142