mirror of
https://github.com/JoshuaJakowlew/cppfaq.git
synced 2025-12-17 04:24:36 +03:00
169 lines
10 KiB
Markdown
169 lines
10 KiB
Markdown
# C++ FAQ
|
||
В этом репозитории хранится информация с часто
|
||
задаваемыми вопросами, ссылки на них и литература к ознакомлению.
|
||
|
||
## Полезные ресурсы и материалы по C++:
|
||
|
||
### ❗❓ Как оно работает и как делать правильно ❗❓ ###
|
||
---
|
||
|
||
* [С++ Developer mindmap](https://miro.com/app/board/o9J_lFH_iBs=/)
|
||
|
||
---
|
||
|
||
* [Документация по С++](https://en.cppreference.com/w)
|
||
* [Последний драфт стандарта](http://eel.is/c++draft/)
|
||
* [Abstract Syntax Tree](https://cppinsights.io)
|
||
* [Как писать на современном C++](https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md)
|
||
* [Паттерны проектирования](https://refactoring.guru/ru/design-patterns/cpp)
|
||
* [Идиомы языка С++](https://en.m.wikibooks.org/wiki/More_C%2B%2B_Idioms)
|
||
* [Курируемый список потрясающих C/C++ фреймворков, библиотек, ресурсов,а также блестящих работ](https://cpp.libhunt.com)
|
||
* [Руины древней цивилизации (stackoverflow)](stackoverflow.com)
|
||
|
||
|
||
### ❗❓ Где(как) запустить, посмотреть и поделиться кодом ❗❓ ###
|
||
|
||
---
|
||
|
||
* [GodBolt - Online DisAsm/Compiler](https://godbolt.org)
|
||
* [WandBox - Online Compiler](https://wandbox.org/)
|
||
* [Repl.it - Online IDE](https://repl.it/languages/cpp)
|
||
* [Quicktype - Генератор классов по JSON-схеме](https://quicktype.io/)
|
||
* [C gibberish ↔ English](https://cdecl.org/)
|
||
|
||
- Сервисы для размещение вашего кода:
|
||
* [GitHub Gist](https://gist.github.com)
|
||
* [Pastebin](https://pastebin.com)
|
||
|
||
### ✅ Ресурсы с задачами для практики и тренировок
|
||
|
||
---
|
||
|
||
* [Hackerrank](https://www.hackerrank.com/domains/cpp)
|
||
* [CodeForces](https://codeforces.com/)
|
||
* [Codewars](https://codewars.com/kata/search/cpp?q=&&beta)
|
||
* [LeetCode](https://leetcode.com/)
|
||
|
||
### ❗❓ Нововведения С++ ❗❓ ###
|
||
|
||
---
|
||
|
||
- [Нововведения С++11](https://www.youtube.com/watch?v=ZOmZCj5ijck&ab_channel=PVS-StudioRu)
|
||
* [Список нововведений С++11](https://en.cppreference.com/w/cpp/11)
|
||
- [Нововведения С++14](https://www.youtube.com/watch?v=5TTS9zr9PGk&ab_channel=PVS-StudioRu)
|
||
* [Список нововведений С++14](https://en.cppreference.com/w/cpp/14)
|
||
- [Нововведения С++17](https://www.youtube.com/watch?v=rRMgJEZVY04&ab_channel=PVS-StudioRu)
|
||
* [Список нововведений С++17](https://en.cppreference.com/w/cpp/17)
|
||
- [Нововведения С++20](https://www.youtube.com/watch?v=KPuYn_fUdxc&t=3s&ab_channel=PVS-StudioRu)
|
||
* [Список нововведений С++20](https://en.cppreference.com/w/cpp/20)
|
||
* [Список нововведений С++23](https://en.cppreference.com/w/cpp/23)
|
||
|
||
## Учебные материалы
|
||
|
||
### ✅ Книги для начинающих:
|
||
|
||
---
|
||
|
||
- Стивен Прата: Язык программирования C++. Лекции и упражнения [[Скачать книгу](https://disk.yandex.ru/i/QSR598p9CpG5tA)]
|
||
|
||
- Б. Липпман - Язык программирования C++. Базовый курс. [[Скачать книгу](https://disk.yandex.ru/i/O_9ghFjZMr8bBA)]
|
||
|
||
- Принципы и практика с использованием C++ Б. Страуструп [[Скачать книгу](https://disk.yandex.ru/i/1EJ6hlr7g_glhw)]
|
||
|
||
- Объектно-ориентированное программирование в С++ Лафоре Роберт [[Скачать книгу](https://disk.yandex.ru/i/c95yr9T1iVnkbg)]
|
||
|
||
- Полезная информация для начинающих!!! [[Посмотреть](https://www.cyberforum.ru/cpp-beginners/thread1922328.html)]
|
||
|
||
"Жизнь после Праты"
|
||
- Scott Meyers "Effective Modern C++ - 42 SPECIFIC WAYS TO IMPROVE YOUR USE OF C++11 AND C++14"
|
||
- Ivor Horton Peter Van Weert "Beginning C++20 - From Novice to Professional" (6th edition)
|
||
- Nicolai M. Josuttis "С++17 The Complete Guide"
|
||
- Marc Gregorie "Professional C++" (4th edition)
|
||
- Jacek Galowicz "C++17 STL Cookbook"
|
||
- Vardan Grigoryan, Shunguang Wu "Expert C++ - Become a proficient programmer by learning coding best practices with C++17 and C++20's latest features"
|
||
- David Vandevoorde, Nicolai M. Josuttis, Douglas Gregor "C++ Templates - The Complete Guide" (2nd edition)
|
||
|
||
- [[Пополняющаяся библиотека полезной литературы](https://disk.yandex.ru/d/3p7CqGmDVslLiA?w=1)]
|
||
|
||
### ✅ Курсы по С++ для начинающих и не только
|
||
|
||
---
|
||
- Для ознакомления с языком, если у вас вообще нет опыта.
|
||
* [Введение в программирование C++ ](https://stepik.org/course/363/promo)
|
||
* [Программирование на языке C++ ](https://stepik.org/course/7/promo)
|
||
* [Изучение синтаксиса С++ с примерами](https://www.programiz.com/cpp-programming)
|
||
|
||
- Для тех, кто имеет уже базовые знания в языке.
|
||
* [ [МФТИ] "Искусство разработки на современном C++"](https://ru.coursera.org/specializations/c-plus-plus-modern-development)
|
||
* [ [OTUS] "С++ для начинающих разработчиков 2020"](https://disk.yandex.ru/d/kcsmDi1uDcKdcw?w=1)
|
||
* [ [OTUS] "Разработчик C++ 2020"](https://disk.yandex.ru/d/01KzEC-oIrpUqA?w=1)
|
||
|
||
### ✅ Полезные, а также интересные лекции и статьи в мире С++
|
||
|
||
---
|
||
|
||
- [Отличные статьи по С++](http://scrutator.me/)
|
||
|
||
- [Великолепные лекции по С++ от Константина Владимирова(LLVM Compiler Devloper)](https://www.youtube.com/channel/UCvmBEbr9NZt7UEh9doI7n_A/featured)
|
||
|
||
- [Лекторий ФПМИ (Введение в С++ (1 курс, осень 2020) ЧАСТЬ №1)](https://www.youtube.com/playlist?list=PL4_hYwCyhAvazfCDGyS0wx_hvBmnAAf4h)
|
||
- [Лекторий ФПМИ (Введение в С++ (1 курс, весна 2021) ЧАСТЬ №2)](https://www.youtube.com/playlist?list=PL4_hYwCyhAvYTzwME4vQoDO8ZINM5trra)
|
||
|
||
- Лекции по С++ от Computer Science Center:
|
||
* [Программирование на C++, часть 1 (осень 2018)](https://www.youtube.com/playlist?list=PLlb7e2G7aSpTFea2FYxp7mFfbZW-xavhL)
|
||
* [Программирование на C++, часть 2 (весна 2019)](https://www.youtube.com/playlist?list=PLlb7e2G7aSpRs7YafQ1GgJvyRku10m1RN)
|
||
|
||
- Конференции C++ User Group
|
||
* [C++ User Group](https://www.youtube.com/channel/UCJ9v015sPgEi0jJXe_zanjA)
|
||
|
||
- Сборник материалов на Английском языке (Сюда стоит посмотреть)
|
||
* [Jason Turner (C++ Weekly)](https://www.youtube.com/user/lefticus1)
|
||
* [Сборник разных гайдов/примеров по cmake](https://github.com/onqtam/awesome-cmake)
|
||
* [Modern C++ and Native Code (converting from bfilipek.com)](https://www.cppstories.com/)
|
||
* [CppNuts](https://www.youtube.com/user/MrRupeshyadav)
|
||
* [CppCon](https://www.youtube.com/channel/UCMlGfpWw-RUdWX_JbLCukXg)
|
||
* [Bisqwit](https://www.youtube.com/channel/UCKTehwyGCKF-b2wo0RKwrcg)
|
||
* [Programming and Technology Tutorials(javidx9)](https://www.youtube.com/c/javidx9/videos)
|
||
* [Molly Rocket(Handmade Hero)](https://www.youtube.com/c/MollyRocket/videos)
|
||
|
||
---
|
||
|
||
### ✅ Полезные материалы по Cmake
|
||
|
||
- Основные ссылки
|
||
* [Официальный сайт системы автоматизации сборки программного обеспечения Cmake](https://cmake.org/)
|
||
* [Документация](https://cmake.org/documentation/)
|
||
|
||
- Cтатьи
|
||
* [Полное руководство по CMake. Часть первая: Синтаксис](https://habr.com/ru/post/431428/)
|
||
* [Полное руководство по CMake. Часть вторая: Система сборки](https://habr.com/ru/post/432096/)
|
||
* [Полное руководство по CMake. Часть третья: Тестирование и пакетирование](https://habr.com/ru/post/433822/)
|
||
|
||
- Лекции/Видео/Tutorials
|
||
* [Сборка проектов на C++ с использованием CMake [OTUS]](https://www.youtube.com/watch?v=LZwEtbc9gEA)
|
||
* [CMake с нуля [SimpleCODING!] :)](https://www.youtube.com/playlist?list=PL6x9Hnsyqn2UwWjSvjCzAY6sEOBrHY7VH)
|
||
|
||
- Книги/Справочники
|
||
* [Программирование: система построения проектов cmake [Дубров Д.В.]](https://disk.yandex.ru/i/IvnzEcNJseJbMw)
|
||
* [CMake Cookbook](https://disk.yandex.ru/i/jwBzh2_JcIViTw)
|
||
|
||
### ✅ Материалы для изучения алгоритмов и структур данных
|
||
|
||
---
|
||
|
||
- [Лекции Павла Марвина](https://www.youtube.com/c/pavelmavrin)
|
||
|
||
- [ [OTUS] Алгоритмы для разработчиков 2020](https://disk.yandex.ru/d/JYgqgDt9-7_EXg?w=1)
|
||
- [ [Яндекс.Практикум] Алгоритмы для разработчиков 2020](https://yadi.sk/d/igBICEE1ST6NNg)
|
||
- [Книги для изучения алгоритмов](https://yadi.sk/d/dQkuPvG9E0nlqQ)
|
||
- [Реализации алгоритмов на C++](https://github.com/TheAlgorithms/C-Plus-Plus)
|
||
|
||
- Визуальное представление алгоритмов:
|
||
* [VisualGo](https://visualgo.net/en)
|
||
* [Algorithm Visualizer](https://algorithm-visualizer.org)
|
||
|
||
- [Algorithms Specialization от Стэндфордского университета (Coursera)](https://www.coursera.org/browse/computer-science/algorithms)
|
||
- [ФПМИ Алгоритмы и структуры данных](https://www.youtube.com/playlist?list=PL4_hYwCyhAvasUkSNdsUKoqcWpw9xl3i1)
|
||
|
||
```EOF```
|