C++. Убираем приватные поля из описания класса или немного дурачества
Решил на выходных продолжить писать свой домашний проект и наступила пора реализовать платформозависимый код. Самым простым вариантом было бы описать классы в *.h файле, а в зависимости от платформы, закрытые поля засунуть под #define. При этом, саму реализацию по конкретным платформам разнести по *.cpp файлам и включать их в компиляцию в зависимости от текущей платформы. Но... мне не нравится как выглядит описание класса с #define, поэтому я решил убрать препроцессор и оставить в описании класса только интерфейс. И да, я не пользовался абстрактными классами и pimpl, всё еще хуже :-)
#cpp #programming
👉 @cpp_lib
Решил на выходных продолжить писать свой домашний проект и наступила пора реализовать платформозависимый код. Самым простым вариантом было бы описать классы в *.h файле, а в зависимости от платформы, закрытые поля засунуть под #define. При этом, саму реализацию по конкретным платформам разнести по *.cpp файлам и включать их в компиляцию в зависимости от текущей платформы. Но... мне не нравится как выглядит описание класса с #define, поэтому я решил убрать препроцессор и оставить в описании класса только интерфейс. И да, я не пользовался абстрактными классами и pimpl, всё еще хуже :-)
#cpp #programming
👉 @cpp_lib
👍1
Упростите код с помощью if constexpr и концепций C++17 / C++20.
https://www.cppstories.com/2018/03/ifconstexpr/
#cpp #programming
👉 @cpp_lib
https://www.cppstories.com/2018/03/ifconstexpr/
#cpp #programming
👉 @cpp_lib
Пользовательские типы и формат std::format из C++20.
https://www.cppstories.com/2022/custom-stdformat-cpp20/
#cpp #programming
👉 @cpp_lib
https://www.cppstories.com/2022/custom-stdformat-cpp20/
#cpp #programming
👉 @cpp_lib
👍1
Google развивает язык программирования Carbon для экспериментальной замены C++
Предполагается, что в языке Carbon будут устранены недостатки C++, его применение будет удобнее, а возможности станут намного шире. Код Carbon легко читать, понимать и писать. Carbon в настоящее время является экспериментальным проектом. Согласно дорожной карте по развитию Carbon, к концу 2022 года должна быть завершена разработка основных конструкций языка, включая проработку выражений и операторов, классов, универсальных шаблонов, основных типов, интерфейсов, указателей и совместимость с языком C++.
#cpp #programming
👉 @cpp_lib
Предполагается, что в языке Carbon будут устранены недостатки C++, его применение будет удобнее, а возможности станут намного шире. Код Carbon легко читать, понимать и писать. Carbon в настоящее время является экспериментальным проектом. Согласно дорожной карте по развитию Carbon, к концу 2022 года должна быть завершена разработка основных конструкций языка, включая проработку выражений и операторов, классов, универсальных шаблонов, основных типов, интерфейсов, указателей и совместимость с языком C++.
#cpp #programming
👉 @cpp_lib
👍2👎2
Параллельное программирование на C++.
https://www.youtube.com/playlist?list=PLxNPSjHT5qvugVNYwtQwnvSQyvlbzAML3
#cpp #programming
👉 @cpp_lib
https://www.youtube.com/playlist?list=PLxNPSjHT5qvugVNYwtQwnvSQyvlbzAML3
#cpp #programming
👉 @cpp_lib
👍1
Пять сложных тем для членов данных в C++20.
https://www.cppstories.com/2022/five-topics-data-members-cpp20/
#cpp #programming
👉 @cpp_lib
https://www.cppstories.com/2022/five-topics-data-members-cpp20/
#cpp #programming
👉 @cpp_lib
👍2
Большой справочник по C.
https://www.freecodecamp.org/news/the-c-beginners-handbook/
#cpp #programming
👉 @cpp_lib
https://www.freecodecamp.org/news/the-c-beginners-handbook/
#cpp #programming
👉 @cpp_lib
👍3
Как научить операционную систему «выбрасывать» С++ исключения из системных вызовов и как это можно применять
Эта статья написана по мотивам дипломной работы, выполненной в ВУЗе. Мне показалось, что она могла бы быть интересна и другим людям, поэтому выкладываю пересказ. В этой работе я кратко рассмотрю, как вообще работают исключения в С++, опишу, как я добавил их поддержку в простую ОС, написанную для преподавания АКОСа, какой способ передачи исключений из ядра в программы я написал. А в конце посмотрим, в каких ещё случаях ОС может бросать пользователям С++ исключения.
#cpp #programming
👉 @cpp_lib
Эта статья написана по мотивам дипломной работы, выполненной в ВУЗе. Мне показалось, что она могла бы быть интересна и другим людям, поэтому выкладываю пересказ. В этой работе я кратко рассмотрю, как вообще работают исключения в С++, опишу, как я добавил их поддержку в простую ОС, написанную для преподавания АКОСа, какой способ передачи исключений из ядра в программы я написал. А в конце посмотрим, в каких ещё случаях ОС может бросать пользователям С++ исключения.
#cpp #programming
👉 @cpp_lib
Хабр
Как научить операционную систему «выбрасывать» С++ исключения из системных вызовов и как это можно применять
Эта статья написана по мотивам дипломной работы, выполненной в ВУЗе. Мне показалось, что она могла бы быть интересна и другим людям, поэтому выкладываю пересказ. В этой работе я кратко рассмотрю, как...
👍3
Некоторые методы уровня исходного кода для ускорения компиляции C++.
https://codingnest.com/the-little-things-speeding-up-c-compilation/
#cpp #programming
👉 @cpp_lib
https://codingnest.com/the-little-things-speeding-up-c-compilation/
#cpp #programming
👉 @cpp_lib
The Coding Nest
The Little Things: Speeding up C++ compilation
This post is based on an internal training I prepared for my employer, Locksley, and showcases some source-level techniques for improving C++ compilation times.
Уроки по языку программирования Си для начинающих.
В данной серии уроков я максимально просто и понятно для новичков стараюсь объяснять материал. 70 видео уроков!
#cpp #programming
👉 @cpp_lib
В данной серии уроков я максимально просто и понятно для новичков стараюсь объяснять материал. 70 видео уроков!
#cpp #programming
👉 @cpp_lib
👍6
С++ для опытных разработчиков
https://www.incredibuild.com/blog/cpp-advanced-topics-for-experienced-cpp-devs
#cpp #programming
👉 @cpp_lib
https://www.incredibuild.com/blog/cpp-advanced-topics-for-experienced-cpp-devs
#cpp #programming
👉 @cpp_lib
Media is too big
VIEW IN TELEGRAM
Что должен знать Junior C++ разработчик
00:00 - Введение
00:24 - Знания по языку программирования
01:11 - Знания по алгоритмам и структурам данных
02:00 - Знания по операционным системам
02:43 - Знания по архитектуре компьютера
03:34 - Знания по компьютерным сетям
04:01 - Знания по базам данных
04:30 - Заключение
#cpp #programming
👉 @cpp_lib
00:00 - Введение
00:24 - Знания по языку программирования
01:11 - Знания по алгоритмам и структурам данных
02:00 - Знания по операционным системам
02:43 - Знания по архитектуре компьютера
03:34 - Знания по компьютерным сетям
04:01 - Знания по базам данных
04:30 - Заключение
#cpp #programming
👉 @cpp_lib
👍13🙏2
Краткое описание переводчика с Python на C++
https://www.oilshell.org/blog/2022/05/mycpp.html
#cpp #programming
👉 @cpp_lib
https://www.oilshell.org/blog/2022/05/mycpp.html
#cpp #programming
👉 @cpp_lib
👍2
Эволюция лямбд в C++14, C++17 и C ++20
Лямбда-выражения — одна из самых популярных фич современного C++. С тех пор, как они были представлены в C++11, лямбды проникли практически в каждую кодовую базу на C++. Далее
#cpp #programming
👉 @cpp_lib
Лямбда-выражения — одна из самых популярных фич современного C++. С тех пор, как они были представлены в C++11, лямбды проникли практически в каждую кодовую базу на C++. Далее
#cpp #programming
👉 @cpp_lib
Telegraph
Эволюция лямбд в C++14, C++17 и C ++20
Лямбда-выражения — одна из самых популярных фич современного C++. С тех пор, как они были представлены в C++11, лямбды проникли практически в каждую кодовую базу на C++. И с момента их появления в C++11 их не переставали развивать, добавляя серьезные фичи…
👍8
Обзор всего доступного в С++ type erasure
Техника стирания типов - type erasure - известна довольно давно, хоть её и долго не замечали. Тем не менее кажется только в последнюю декаду она стала из игрушки и костылей превращаться в мощный инструмент, использующийся каждый день в разработке. Далее
#cpp #programming
👉 @cpp_lib
Техника стирания типов - type erasure - известна довольно давно, хоть её и долго не замечали. Тем не менее кажется только в последнюю декаду она стала из игрушки и костылей превращаться в мощный инструмент, использующийся каждый день в разработке. Далее
#cpp #programming
👉 @cpp_lib
Telegraph
Обзор всего доступного в С++ type erasure
Техника стирания типов - type erasure - известна довольно давно, хоть её и долго не замечали. Тем не менее кажется только в последнюю декаду она стала из игрушки и костылей превращаться в мощный инструмент, использующийся каждый день в разработке. Если спросить…
👍2
Основы декодирования GStreamer H264/MP4 на C/C++ и манипуляции с буферами кодирования/декодирования.
https://blog.degitx.com/general/gstreamer-h264-capture.html
#cpp #programming
👉 @cpp_lib
https://blog.degitx.com/general/gstreamer-h264-capture.html
#cpp #programming
👉 @cpp_lib
👍1🥰1
Баги C++20. Итоги встречи в городе Белфаст
На днях прошла встреча комитета по стандартизации языка программирования C++ в городе Белфасте. От представителей стран в комитет прилетело около 400 замечаний к C++20, с половиной из них успели расправиться.
Под катом вас ждут результаты обсуждений замечаний России (да-да, ВАШИХ замечаний к C++20), некоторые замечания других стран, ну и подходящие новинки C++23 (Executors!).
Все те проблемы с C++, о которых люди упоминали на сайте stdcpp.ru, на работе в Yandex. Taxi, или лично на конференциях, мы оформили в виде замечаний к C++20. И вот что из этого вышло…
#cpp #programming
👉 @cpp_lib
На днях прошла встреча комитета по стандартизации языка программирования C++ в городе Белфасте. От представителей стран в комитет прилетело около 400 замечаний к C++20, с половиной из них успели расправиться.
Под катом вас ждут результаты обсуждений замечаний России (да-да, ВАШИХ замечаний к C++20), некоторые замечания других стран, ну и подходящие новинки C++23 (Executors!).
Все те проблемы с C++, о которых люди упоминали на сайте stdcpp.ru, на работе в Yandex. Taxi, или лично на конференциях, мы оформили в виде замечаний к C++20. И вот что из этого вышло…
#cpp #programming
👉 @cpp_lib
👍2👎2
Эффективное программирование с использованием компонентов
Конспекты курса Александра Степанова по проектированию и использованию C++ STL.
https://www.jmeiners.com/efficient-programming-with-components/
#cpp #programming
👉 @cpp_lib
Конспекты курса Александра Степанова по проектированию и использованию C++ STL.
https://www.jmeiners.com/efficient-programming-with-components/
#cpp #programming
👉 @cpp_lib
👍3
Media is too big
VIEW IN TELEGRAM
Когда микросекунда - это вечность: Высокопроизводительные торговые системы на C++
источник
#cpp #programming
👉 @cpp_lib
источник
#cpp #programming
👉 @cpp_lib
👍1