Sources from C++ CS/SHAD lessons.
Feel free to use it as you wish.
Основы
- Scott Meyers: "Effective C++: 55 Specific Ways to Improve Your Programs and Designs"
- Scott Meyers: "More Effective C++: 35 New Ways to Improve Your Programs and Designs"
- Scott Meyers: "Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library"
Продолжение
- Scott Meyers: "Effective Modern C++. 42 Specific Ways to Improve Your Use of C++11 and C++14"
- Herb Sutter: "Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions"
- Herb Sutter: "Решение сложных задач на С++"
- Herb Sutter: "Новые сложные задачи на C++"
- Optimized C++. Про техники оптимизаций на уровне асимтотик и абстракций языка.
Продвинутые
- Cpp Core guidelines. Набор правил от комитета по написанию кода на С++. Попытка в большом С++ выделить подмножество - простой и понятный язык.
- "C++ concurrency in action". На понимание деталей многопоточности в С++.
- Andrei Alexandrescu. "Modern C++ Design: Generic Programming and Design Patterns Applied". Трюки с шаблонами С++.
- Optimizing software in C++. An optimization guide for Windows, Linux, and Mac platforms. Про оптимизации от языка до инструкций.
- Антон Полухин. "Разработка приложений на С++ с использованием Boost". Обзор boost - объёмного набора С++ библиотек хорошего качества для самых разных нужд.
- isocpp.org/blog
- Оформить подписку на libhunt в рассылках еженедельно приходит подборка свеженького по С++
- Reddit c++
- Jason Turner: c++ weekly videos
- Herb Sutter
- Barteks coding blog
- fluentcpp
- simplify c++
- foonathan::blog()
- vector-of-bool
- travisdown
- godbolt: online compiler
- quick-bench: быстрая проверка гипотез по скорости исполнения
- build-bench: быстрая проверка гипотез по скорости компиляции
- compilation cost of include
- CppCon. Топовая конференция по С++. Можно (нужно) смотреть записи докладов на ютуб.
- Cpp Russia. Топовая российская конференция по С++ с неплохим уровнем докладов.
- Cpp Siberia 2020, 2021 - локальный филиал Cpp Russia в Новосибирске.
- C++ now / boostcon
2019 осень (сем. 1)
- Лекция 1. Знакомство. Ввод-вывод. Командная строка. Компиляция. 1, 2
- Лекция 2. Функции. Чтение из файла, cmake, unit-тесты. 1, 2
- Лекция 3. Классы. Начало. 1, 2
- Лекция 4. Классы. Продолжение. 1, 2
- Лекция 5. Шаблоны. 1, 2
- Лекция 6. Контейнеры и итераторы. 1, 2
- Лекция 7. Исключения. 1, 2
- Лекция 8. Умные указатели. Передача аргументов в функцию. RVO / NRVO / copy elision. 1, 2
- Лекция 9. Техники оптимизации. 1, 2
- Лекция 10. Техники оптимизации. 1, 2
- Лекция 11. Алгоритмы и лямбды. 1, 2
- Лекция 12. Компиляция и линковка. Undefined behavior. 1, 2
2020 весна (сем. 2)
- Лекция 1. Многопоточность. Введение. 1, 2
- Лекция 2. Многопоточность. Продолжение. 1, 2
- Лекция 3. Многопоточность. Продвинутый материал 1. 1, 2
- Лекция 4. Многопоточность. Продвинутый материал 2. 1, 2
- Лекция 5. Move-семантика. 1, 2
- Лекция 6. Advanced templates. 1, 2
- Лекция 7. Compile-time. 1, 2
- Лекция 8. Ranges. 1, 2
- Лекция 9. Мелкие нововведения стандарта. 1, 2
2020 осень (сем. 1)
- Лекция 1. Знакомство. Ввод-вывод. Командная строка. Компиляция. 1, 2
- Лекция 2. Функции. Заголовочные файлы. Чтение из файла. CMake. Юнит-тесты. 1, 2
- Лекция 3. Классы. Начало. 1, 2
- Лекция 4. Классы. Продолжение. 1, 2
- Лекция 5. Шаблоны. 1, 2
- Лекция 6. Контейнеры и итераторы. 1, 2.
- Лекция 7. Исключения. 1, 2
- Лекция 8. Умные указатели. 1, 2
- Лекция 9. Агрументы. RVO / NRVO / copy elision. 1, 2
- Лекция 10. Алгоритмы и лямбды. 1, 2
- Лекция 11. Техники оптимизации. 1, 2
- Лекция 12. Профилировка. Модель физической памяти. 1, 2
- Лекция 13. Компиляция и линковка. 1, 2
- Лекция 14. Практикум. Ray tracing. 1, 2
2021 весна (сем. 2)
- Лекция 1. Разминка. 1, 2
- Лекция 2. Многопоточность. Введение 1, 2
- Лекция 3. Многопоточность. Продолжение. 1, 2
- Лекция -. Домашнее задание: коммивояжёр. 1, 2
- Лекция 4. Многопоточность. Продвинутый материал. 1, 2
- Лекция 5. Многопоточность. Основы lock free 1, 2
- Лекция 6. Move-семантика 1, 2
- Лекция 7. Продвинутое использоване шаблонов 1, 2
- Лекция 8. Мелкие нововведения стандарта 1, 2
- Лекция 9. Undefined behavior 1
- Лекция 10. Compile-time вычисления 1
2021 осень (сем. 1) https://rutube.ru/plst/153595
- Лекция 1. Введение. Первая программа. Ввод-вывод. Командная строка. 1, 2; 1, 2
- Лекция 2. Функции. Чтение файла. CMake. Unit-тесты. 1, 2; 1, 2
- Лекция 3. Классы. Определение. Поля и методы. Конструктор, присваивание и деструктор. 1, 2; 1, 2
- Лекция 4. Классы. Наследование. Виртуальные функции. Layout. Дизайн классов. 1, 2; 1, 2
- Лекция 5. Шаблоны. 1, 2; 1, 2
- Лекция 6. Контейнеры и итераторы. 1, 2; 1, 2
- Лекция 7. Исключения. 1, 2; 1, 2
- Лекция 8. Умные указатели y; r
- Лекция 9. Аргументы. RVO / NRVO / Copy elision. 1, 2; 1, 2
- Лекция 10. Алгоритмы и лямбды. 1, 2; 1, 2
- Лекция 11. Техники оптимизации. 1, 2; 1, 2
- Лекция 12. Профилировка. Модель физической памяти. r
2022 весна (сем. 2) https://rutube.ru/plst/172513
- Лекция 1. Знакомство. Организационная лекция. Компиляция и линковка. 1, 2; 1, 2
- Лекция 2. Многопоточность. std::thread. promise-future. Эффективность распараллеливания и закон Амдала. 1, 2; 1, 2
- Лекция 3. Многопоточность. Race condition. Mutex. Thread-safe объекты 1, 2; 1, 2
- Лекция 4. Многопоточность. Recursive mutex. Shared mutex. Condition variable. Thread local. 1, 2; 1, 2
- Лекция 5. Многопоточность. Atomics. Основы. 1, 2; 1, 2
- Лекция 6. Многопоточность. Spin lock. Hybrid mutex. Lock free 1, 2; 1, 2
- Лекция 7. Move-семантика. 1, 2; 1, 2
- Лекция 8. Продвинутое использование шаблонов. 1, 2; 1, 2
- Лекция 9. Мелкие нововведения стандарта. y; r
- Лекция 10. Compile-time выичсления. y; r
- Лекция 11. Undefined behavior. y; r
- Лекция 12. Форматирование. Ranges. y; r