Базовый курс C++ (MIPT, ILab)
1. Scent of C++.
2. Указатели и ссылки
3. Имена и сущности
4. Инициализация и копирование.
5. RAII и перемещение
6. Приведение типов
7. Перегрузка операторов
8. Наследование и полиморфизм
9. Множественное наследование
10. Языки и грамматики
11. Исключения
12. Безопасность исключений
13. Проектирование
14 (доп). OpenGL и Vulkan
15. Вычисления на GPU.
16. Специализация и инстанцирование.
17. Вывод типов и свёртка ссылок.
18. Определители типов и SFINAE
19. Вариабельные шаблоны.
20. Итераторы
21. LLVM, часть 1
22. LLVM, часть 2
23. Последовательные контейнеры.
24. Ассоциативные контейнеры
25. Алгоритмы и функторы.
26. Метапрограммирование.
27. Constexpr функции.
28. Концепты и напутственные слова.
Все видео доступны на youtube
#cpp #programming
👉 @cpp_lib
1. Scent of C++.
2. Указатели и ссылки
3. Имена и сущности
4. Инициализация и копирование.
5. RAII и перемещение
6. Приведение типов
7. Перегрузка операторов
8. Наследование и полиморфизм
9. Множественное наследование
10. Языки и грамматики
11. Исключения
12. Безопасность исключений
13. Проектирование
14 (доп). OpenGL и Vulkan
15. Вычисления на GPU.
16. Специализация и инстанцирование.
17. Вывод типов и свёртка ссылок.
18. Определители типов и SFINAE
19. Вариабельные шаблоны.
20. Итераторы
21. LLVM, часть 1
22. LLVM, часть 2
23. Последовательные контейнеры.
24. Ассоциативные контейнеры
25. Алгоритмы и функторы.
26. Метапрограммирование.
27. Constexpr функции.
28. Концепты и напутственные слова.
Все видео доступны на youtube
#cpp #programming
👉 @cpp_lib
👍10❤6
Примеры C++ кода до и после Ranges
Измените несортированный диапазон, чтобы он сохранял только уникальные значения, но в обратном порядке
👉 @cpp_lib
Измените несортированный диапазон, чтобы он сохранял только уникальные значения, но в обратном порядке
👉 @cpp_lib
👍2
C++ code samples before and after Ranges
https://mariusbancila.ro/blog/2019/01/20/cpp-code-samples-before-and-after-ranges/
👉 @cpp_lib
https://mariusbancila.ro/blog/2019/01/20/cpp-code-samples-before-and-after-ranges/
👉 @cpp_lib
Marius Bancila's Blog | About code. Mostly on C++
C++ code samples before and after Ranges
This article shows a series of code samples for working with ranges with and without the ranges-v3 library.
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Как написать 2D игру на C++ и чистом STL для терминала в Linux
Привет, Хабр, я PHP разработчик с опытом работы в продакшне более 8 лет. После долгого и упорного труда мне стало скучно пилить микросервисы и бэкенды в хайлоде, я решил постичь магию разработки игр. Выбрал курс по Unreal Engine 5 и C++, так как там все структурировано, понятно, и в случае необходимости есть кому задать вопрос. На первой лекции по основам С++ преподаватель сразу предложил челлендж - написать 2D игру без использования игрового движка. Идея мне понравилась и я сразу приступил к реализации.
https://habr.com/ru/post/708486/
👉 @cpp_lib
Привет, Хабр, я PHP разработчик с опытом работы в продакшне более 8 лет. После долгого и упорного труда мне стало скучно пилить микросервисы и бэкенды в хайлоде, я решил постичь магию разработки игр. Выбрал курс по Unreal Engine 5 и C++, так как там все структурировано, понятно, и в случае необходимости есть кому задать вопрос. На первой лекции по основам С++ преподаватель сразу предложил челлендж - написать 2D игру без использования игрового движка. Идея мне понравилась и я сразу приступил к реализации.
https://habr.com/ru/post/708486/
👉 @cpp_lib
👍6
Подводные камни компараторов в С++
При использовании компаратора в алгоритмах boost::sort и std::sort важно учитывать некоторые особенности работы этих алгоритмов, игнорирование которых может привести к неожиданным последствиям, в том числе к segmentation fault.
https://habr.com/ru/company/kaspersky/blog/710916/
👉 @cpp_lib
При использовании компаратора в алгоритмах boost::sort и std::sort важно учитывать некоторые особенности работы этих алгоритмов, игнорирование которых может привести к неожиданным последствиям, в том числе к segmentation fault.
https://habr.com/ru/company/kaspersky/blog/710916/
👉 @cpp_lib
👍6
Как измерить длину SSO-строки с помощью constinit и constexpr
В этом тексте вы узнаете о нескольких техниках и экспериментах с ключевыми словами constexpr и constinit. Исследуя реализацию строк, вы также увидите, почему constinit настолько мощный инструмент.
https://www.cppstories.com/2022/sso-cpp20-checks/
👉 @cpp_lib
В этом тексте вы узнаете о нескольких техниках и экспериментах с ключевыми словами constexpr и constinit. Исследуя реализацию строк, вы также увидите, почему constinit настолько мощный инструмент.
https://www.cppstories.com/2022/sso-cpp20-checks/
👉 @cpp_lib
👍2
Разработка стековой виртуальной машины и компилятора под неё
Решил в качестве хобби написать 32-bit стековую виртуальную машину и компилятор C подобного языка под неё, чтобы восстановить базовые навыки. Такая классическая Computer Science задачка для заполнения вечеров с пивом. Как предприниматель, я четко понимаю, что она никому не нужна, но такая практика нужна мне для эстетического инженерного удовольствия. Плюс когда об этом рассказываешь сам понимаешь глубже. С целью и мотивами определился. Начнём.
часть I
часть II
часть III
итог
👉 @cpp_lib
Решил в качестве хобби написать 32-bit стековую виртуальную машину и компилятор C подобного языка под неё, чтобы восстановить базовые навыки. Такая классическая Computer Science задачка для заполнения вечеров с пивом. Как предприниматель, я четко понимаю, что она никому не нужна, но такая практика нужна мне для эстетического инженерного удовольствия. Плюс когда об этом рассказываешь сам понимаешь глубже. С целью и мотивами определился. Начнём.
часть I
часть II
часть III
итог
👉 @cpp_lib
👍11🤯1
Сборщик мусора на С++
Эту статью я задумал довольно давно. Речь в ней пойдет о простейшем копирующем сборщике мусора на С++. У него довольно много ограничений (часть не мешает, часть можно обойти, если задаться целью написать какую-то серьезную библиотеку, а для кое-чего неплохо было бы заиметь зачаточную поддержку от языка), зато и кода в нем чуть больше 100 строк. Заинтересовавшихся прошу под кат. Там минимум ООП, простейшие шаблоны и жуткие магические ритуалы с указателями.
Начнем с начала. Что такое сборщик мусора и для чего он нужен?
https://habr.com/ru/post/213225/
👉 @cpp_lib
Эту статью я задумал довольно давно. Речь в ней пойдет о простейшем копирующем сборщике мусора на С++. У него довольно много ограничений (часть не мешает, часть можно обойти, если задаться целью написать какую-то серьезную библиотеку, а для кое-чего неплохо было бы заиметь зачаточную поддержку от языка), зато и кода в нем чуть больше 100 строк. Заинтересовавшихся прошу под кат. Там минимум ООП, простейшие шаблоны и жуткие магические ритуалы с указателями.
Начнем с начала. Что такое сборщик мусора и для чего он нужен?
https://habr.com/ru/post/213225/
👉 @cpp_lib
Хабр
Сборщик мусора на С++
Привет, Хабр! Эту статью я задумал довольно давно. Речь в ней пойдет о простейшем копирующем сборщике мусора на С++. У него довольно много ограничений (часть не...
👍4🥰1
Серия статей
Геометрические фигуры мультимедийной библиотеки SFML для разработки игр на C++
https://habr.com/ru/post/701224/
2D примитивы мультимедийной библиотеки SFML для разработки игр на C++
https://habr.com/ru/post/702128/
Электронные часы, мультимедийная библиотека SFML для разработки игр на C++
https://habr.com/ru/post/704956/
Аналоговые часы SFML C++
https://habr.com/ru/post/706954/
Игровое меню SFML C++
https://habr.com/ru/post/710100/
👉 @cpp_lib
Геометрические фигуры мультимедийной библиотеки SFML для разработки игр на C++
https://habr.com/ru/post/701224/
2D примитивы мультимедийной библиотеки SFML для разработки игр на C++
https://habr.com/ru/post/702128/
Электронные часы, мультимедийная библиотека SFML для разработки игр на C++
https://habr.com/ru/post/704956/
Аналоговые часы SFML C++
https://habr.com/ru/post/706954/
Игровое меню SFML C++
https://habr.com/ru/post/710100/
👉 @cpp_lib
👍6
Performance of the Parallel STL Algorithms
https://www.modernescpp.com/index.php/performance-of-the-parallel-stl-algorithmn
Parallel Algorithms of the STL with the GCC Compiler
https://www.modernescpp.com/index.php/parallel-algorithms-of-the-stl-with-gcc
👉 @cpp_lib
https://www.modernescpp.com/index.php/performance-of-the-parallel-stl-algorithmn
Parallel Algorithms of the STL with the GCC Compiler
https://www.modernescpp.com/index.php/parallel-algorithms-of-the-stl-with-gcc
👉 @cpp_lib
❤3👍1
Как устроена работа thread_local переменных: разбираемся и добавляем поддержку в учебную ОС
Эта статья написана по мотивам моей курсовой работы, основной смысл которой описан здесь. В процессе работы над ней мне понадобилось добавить в учебной ОС, над которой я работал, поддержку thread_local переменных, о чём я и хочу здесь рассказать в надежде что кому-то это окажется полезно.
Здесь рассмотрен совсем простой случай: поддержки динамической загрузки других бинарников не будет, а способ реализации рассмотрен только один.
Код расположен в двух репозиториях.
👉 @cpp_lib
Эта статья написана по мотивам моей курсовой работы, основной смысл которой описан здесь. В процессе работы над ней мне понадобилось добавить в учебной ОС, над которой я работал, поддержку thread_local переменных, о чём я и хочу здесь рассказать в надежде что кому-то это окажется полезно.
Здесь рассмотрен совсем простой случай: поддержки динамической загрузки других бинарников не будет, а способ реализации рассмотрен только один.
Код расположен в двух репозиториях.
👉 @cpp_lib
Хабр
Как устроена работа thread_local переменных: разбираемся и добавляем поддержку в учебную ОС
Эта статья написана по мотивам моей курсовой работы, основной смысл которой описан здесь . В процессе работы над ней мне понадобилось добавить в учебной ОС, над которой я работал, поддержку...
👍1
Превью профессии «говорящий с нейросетями»
Все уже слышали, что openAI выпустили в свет свою новую нейросеть-асистента, так что я решил попробовать на что она способна и описать свой опыт взаимодействия с этим.. Этой... Сущностью.
Разговор будет вестись как с человеком в вежливой форме, так как оказалось, что нейросеть очень хорошо запоминает = )
Начнём с чего-то простого, попросим сгенерировать на языке CMake простую программу
https://habr.com/ru/post/703380/
👉 @cpp_lib
Все уже слышали, что openAI выпустили в свет свою новую нейросеть-асистента, так что я решил попробовать на что она способна и описать свой опыт взаимодействия с этим.. Этой... Сущностью.
Разговор будет вестись как с человеком в вежливой форме, так как оказалось, что нейросеть очень хорошо запоминает = )
Начнём с чего-то простого, попросим сгенерировать на языке CMake простую программу
https://habr.com/ru/post/703380/
👉 @cpp_lib
👍3
Media is too big
VIEW IN TELEGRAM
Плывущий экран. Вирус на C++. Melting Screen
Программа предоставлена в образовательных целях! Автор не несёт ответственности за её использование!
В этом видео вы узнаете как написать вирус на с++ который заставляет экран сыпаться и плыть.
👉 @cpp_lib
Программа предоставлена в образовательных целях! Автор не несёт ответственности за её использование!
В этом видео вы узнаете как написать вирус на с++ который заставляет экран сыпаться и плыть.
👉 @cpp_lib
👍12🔥2👎1
Кодогенератор Waffle++ для C++
Кодогенератор это программа, которая на основе исходного кода или какого-нибудь файла настроек генерирует вспомогательный код, который потом компилируется вместе с исходным кодом. Это нужно, чтобы не писать boilerplate-код (копипаст) и получить новые возможности языка.
Я делаю расширяемый кодогенератор для C++, в котором можно реализовать много полезного. Примеры модулей: перевод значений enum в строку и обратно, перевод структуры в JSON и обратно, декларативный веб-сервер, система слотов и сигналов, свой динамический полиморфизм, генератор кода для тестов...
В этом обзоре будет showcase, сравнение с другими кодогенераторами, описание работы модулей, как сделать свой модуль, и как подключить кодогенератор в свои проекты.
https://habr.com/ru/post/710744/
👉 @cpp_lib
Кодогенератор это программа, которая на основе исходного кода или какого-нибудь файла настроек генерирует вспомогательный код, который потом компилируется вместе с исходным кодом. Это нужно, чтобы не писать boilerplate-код (копипаст) и получить новые возможности языка.
Я делаю расширяемый кодогенератор для C++, в котором можно реализовать много полезного. Примеры модулей: перевод значений enum в строку и обратно, перевод структуры в JSON и обратно, декларативный веб-сервер, система слотов и сигналов, свой динамический полиморфизм, генератор кода для тестов...
В этом обзоре будет showcase, сравнение с другими кодогенераторами, описание работы модулей, как сделать свой модуль, и как подключить кодогенератор в свои проекты.
https://habr.com/ru/post/710744/
👉 @cpp_lib
Хабр
Кодогенератор Waffle++ для C++
Список пасхалок: https://clck.ru/33J7ck Кодогенератор это программа, которая на основе исходного кода или какого-нибудь файла настроек генерирует вспомогательный код, который потом компилируется...
👍2