Большая подборка по языку программирования С++ для тех, кто имеет начальный уровень знаний, но не хочет останавливаться на нём.
Список содержит как книги, так и видеокурсы, которые позволят «прокачать» ваши знания.
1. Вандевурд Д., Джосаттис Н.М. «Шаблоны C++. Справочник разработчика»
Шаблоны С++ предоставляют море возможностей программисту для создания надежного и эффективного кода. Эта книга содержит огромное количество материала, который покажет, как программировать при помощи шаблонов, преодолев всевозможные ограничения.
2. Страуструп Б., «Дизайн и эволюция C++»
В этой книге автор подробно описывает историю создания С++. Из нее вы узнаете общие цели дизайна, ход эволюции языка и развитие языковых концепций.
3. Александреску А., «Современное проектирование на С++»
Эта книга по мнению Скотта Майерса, признанного эксперта по С++, относится к 5 важнейшим в истории С++. В ней рассказывается о способах реализации шаблонов проектирования, об ООП на С++. Рассмотрены возможности метапрограммирования, технология программирования в целом. В качестве дополнения к книги написана библиотека Loki.
4. Шлее М., «Qt 5.3. Профессиональное программирование на C++»
Это книга о том, как разрабатывать приложения для различных ОС с помощью библиотеки Qt 5.3. Из нее вы узнаете, какие возможности она предоставляет и какие особенности имеет. Также здесь подробно описываются среда разработки Qt Creator и способы работы с технологией Qt Quick.
Книга изобилует количеством примеров с подробнейшими комментариями.
5. Саттер Г., «Новые сложные задачи на С++»
40 головоломных задач – это то, что ожидает вас в этой книге. Решая их, вы научитесь находить баланс между функциональностью и эффективностью. Каждая задача имеет свое решение.
Также вы найдете здесь новые стратегии, которые используются в современных технологиях программирования на С++. Все это в совокупности позволит вам писать более надежный и производительный код.
6. Уильямс Э., «Параллельное программирование на С++ в действии. Практика разработки многопоточных программ»
Если до этого момента вы не знали ничего о параллельном программировании на С++, пришло время исправить этот недочет. Благодаря этой книге вы сможете писать многопоточные программы на С++ 11. После прочтения такие понятия, как потоковая модель памяти, средства поддержки многопоточности перестанут для вас быть пустым звуком.
Еще больше книг вы найдете здесь:
1. Видеокурс «Углубленное программирование на С/C++»
Этот курс нацелен на то чтобы сформировать в вас практические навыки и умения, которые позволят разрабатывать ПО для UNIX-подобных ОС в проектах средней сложности на языках С и С++.
2. Углублённый C++
Курс углубленного С++, погрузит вас в тонкости языка. Вы узнаете о концепте const, о функциях, созданных компилятором. Также курс расскажет о статическом полиморфизме, множественном наследовании и прочих понятиях, которые помогут вам расширить знания С++.
3. Погружение в C++11
Этот курс расскажет и покажет вам новые функции С++11 и С++14. Обучение будет происходить на фоне разработки игры, так что вы сможете совместить приятное с полезным. Кроме новых возможностей С++ вы узнаете о динамической памяти, указателях, продолжительности жизни переменных, контроле памяти и прочих тонкостях, которые позволят вам еще лучше кодить.
4. Курс «C++ Threading»
Курс о многопоточности познакомит вас со всеми понятиями этого свойства платформы/приложения. Вы узнаете о том, как устроены потоки, как ими управлять и как они взаимодействуют.
5. Серия лекций по C++ в рамках которых затронуты некоторые продвинутые темы.
Из этого курса лекций вы узнаете о стандартной библиотеке шаблонов, продвинутых возможностях С++, метапрограммировании, а также стандартах С++ 11 и С++14.
6. Курс «Библиотека STL C++. Продвинутый уровень».
Для того чтобы просмотр этого курса принес вам пользу, необходимо чтобы вы имели некоторые базовые знания STL. После него вы сможете использовать STL точно и эффективно.
7. Многопоточное программирование на С/С++
Целью этого курса является обучение межпроцессному взаимодействию и синхронизации потоков. Для того чтобы применить полученные знания, по окончанию вы сможете создать свой веб-сервер. Темы курса включают в себя «Контейнеры», «Сокеты Беркли», «Процессы», «Потоки», «Параллельное программирование» и пр.