Files
cppfaq/README.md
2021-12-24 11:34:42 +03:00

196 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# C++ FAQ
В этом репозитории хранится информация с часто
задаваемыми вопросами, ссылки на них и литература к ознакомлению.
## Полезные ресурсы и материалы по C++:
### ❗❓ Как оно работает и как делать правильно ❗❓ ###
---
* [С++ Developer mindmap](https://miro.com/app/board/o9J_lFH_iBs=/)
---
* [Документация по С++](https://en.cppreference.com/w)
* [Документация с визуальным сопровождением](https://hackingcpp.com/)
* [Последний драфт стандарта](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)](https://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)
### ❗❓ Где(кто) мне может помочь, проконсультировать ❗❓ ###
- Telegram каналы по C++
* [pro.cxx (Для людей с опытом)](https://t.me/ProCxx)
* [supapro.cxx (Чат для тех, кто немного знает C++)](https://t.me/supapro)
- Беседы в VK.COM по C++
* [Nemezida C++](https://vk.me/join/7tQtOXRZLIPkOh46aN5nN4WNEir47wHYtBE=)
* [Nemezida Flood](https://vk.me/join/r2GYEBn3TqU9UI5hXBq917IrDXCTOTpT5mU=)
* [С++ CODE BLOG](https://vk.me/join/nvk47HgezGDt485EsI9V9AT6f2I7SGGQSOc=)
```TODO```
### ✅ Ресурсы с задачами для практики и тренировок ✅ ###
---
* [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)
- Antony Polukhin, Boost C++ Application Development Cookbook
- [[Пополняющаяся библиотека полезной литературы](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)
- [C++ базовый курс, MIPT, ILab](https://www.youtube.com/watch?v=Bym7UMqpVEY&list=PL3BR09unfgciJ1_K_E914nohpiOiHnpsK)
- [Лекторий ФПМИ (Введение в С++ (1 курс, осень 2020) ЧАСТЬ №1)](https://www.youtube.com/playlist?list=PL4_hYwCyhAvazfCDGyS0wx_hvBmnAAf4h)
- [Лекторий ФПМИ (Введение в С++ (1 курс, весна 2021) ЧАСТЬ №2)](https://www.youtube.com/playlist?list=PL4_hYwCyhAvYTzwME4vQoDO8ZINM5trra)
- [Лекторий ФПМИ (Введение в С++ (1 курс, осень-весна 2021-2022))](https://www.youtube.com/playlist?list=PLSaMkqCXRp4Jen1F8YHJpxlj64hJhdoCS)
- Лекции по С++ от 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)
* [CppStories](https://www.cppstories.com/p/start-here/)
* [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://ru.algorithmica.org/cs/graph-traversals/cycle/)
- [Лекции Павла Марвина](https://www.youtube.com/c/pavelmavrin)
- [Тренировки по алгоритмам [Яндекс]](https://yandex.ru/yaintern/algorithm-training)
* Тренировки по алгоритмам от Яндекса [Плейлист](https://www.youtube.com/watch?v=QLhqYNsPIVo&list=PL6Wui14DvQPySdPv5NUqV3i8sDbHkCKC5)
- [ [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)
### ✅ Материалы для изучения технологий программирования и архитектуры ✅ ###
- [Курс семинаров Никиты Старичкова](https://youtube.com/playlist?list=PL4_hYwCyhAvaTVSzXsvFQlb-FmNqUNkPT)
```EOF```