13 материалов для «продолжающих» С++ разработчиков
Большая подборка по языку программирования С++ для тех, кто имеет начальный уровень знаний, но не хочет останавливаться на нём.
Список содержит как книги, так и видеокурсы, которые позволят "прокачать" ваши знания.
Что почитать:
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-подобных ОС в проектах средней сложности на языках С и С++.
https://www.youtube.com/playlist?list=PLrCZzMib1e9rOysx0hgCaedIoOWNVjhQ0
2. Углублённый C++
Курс углубленного С++, погрузит вас в тонкости языка. Вы узнаете о концепте const, о функциях, созданных компилятором. Также курс расскажет о статическом полиморфизме, множественном наследовании и прочих понятиях, которые помогут вам расширить знания С++.
https://www.youtube.com/playlist?list=PLGvfHSgImk4bLOOiQ3HmF_TSnltz17lA2
3. Погружение в C++11
Этот курс расскажет и покажет вам новые функции С++11 и С++14. Обучение будет происходить на фоне разработки игры, так что вы сможете совместить приятное с полезным. Кроме новых возможностей С++ вы узнаете о динамической памяти, указателях, продолжительности жизни переменных, контроле памяти и прочих тонкостях, которые позволят вам еще лучше кодить.
https://www.youtube.com/playlist?list=PLTEcWGdSiQenl4YRPvSqW7UPC6SiGNN7e
4. Курс «C++ Threading»
Курс о многопоточности познакомит вас со всеми понятиями этого свойства платформы/приложения. Вы узнаете о том, как устроены потоки, как ими управлять и как они взаимодействуют.
https://www.youtube.com/playlist?list=PL5jc9xFGsL8E12so1wlMS0r0hTQoJL74M
5. Серия лекций по C++ в рамках которых затронуты некоторые продвинутые темы.
Из этого курса лекций вы узнаете о стандартной библиотеке шаблонов, продвинутых возможностях С++, метапрограммировании, а также стандартах С++ 11 и С++14.
https://www.youtube.com/playlist?list=PLlb7e2G7aSpQJpe8sWD2kIQ51Lx74H2FH
6. Курс «Библиотека STL C++. Продвинутый уровень».
Для того чтобы просмотр этого курса принес вам пользу, необходимо чтобы вы имели некоторые базовые знания STL. После него вы сможете использовать STL точно и эффективно.
https://www.youtube.com/playlist?list=PL5jc9xFGsL8E_BJAbOw_DH6nWDxKtzBPA
7. Многопоточное программирование на С/С++
Целью этого курса является обучение межпроцессному взаимодействию и синхронизации потоков. Для того чтобы применить полученные знания, по окончанию вы сможете создать свой веб-сервер. Темы курса включают в себя «Контейнеры», «Сокеты Беркли», «Процессы», «Потоки», «Параллельное программирование» и пр.
https://www.youtube.com/playlist?list=PLwwk4BHih4fhYu3nMqgMbp_SkYC5Kv684