Библиотека C/C++ разработчика
6.8K subscribers
655 photos
690 videos
8 files
940 links
Полезные материалы по всему, что может быть полезно плюсовику/сишнику. По всем вопросам @evgenycarter
Download Telegram
The Observer Design Pattern in C++

Part 1 of n - A simple implementation
Part 2 of n - Extensibility and Abstraction
Part 3 of n - Registration and Lifetime
Part 4 of n - Notify Specific System
Part 5 of 5 - Review and Next Steps

источник

#cpp #programming

👉 @cpp_lib
🥰3👍2👏2
Кроссплатформенный многопоточный TCP/IP сервер на C++

Решил задаться целью написать простой в использовании и при этом быстрый многопоточного TCP/IP сервера на C++ и при этом кроссплатформенный — как минимум чтобы работал на платформах Windows и Linux без требования как-либо изменять код за пределами самописной библиотеки. Ранее, на чистом C++ без библиотек вроде Qt, сетевым программировнием не занимался, и предвещал себе долгое время мучений с платформо-зависимостью. Но как оказалось всё гораздо проще чем казалось на первый взгляд, ведь в основном интерфейсы сокетов обоих систем похожи как две капли воды и различаются лишь в мелких деталях.

https://habr.com/ru/articles/503432/

#cpp #programming

👉 @cpp_lib
👍6🎉2
C++ Software Design and Design Patterns

Command Pattern Explanation and Implementation in C++
Singleton Pattern | Explanation and Implementation in C++
Factory Method Pattern Explanation and Implementation in C++
Factory Method Pattern Adding More Power to Count Allocated Objects in C++
The Extensible Factory Pattern in C++ | Register Objects at Runtime
Iterator Pattern Explanation and usage with STL in C++

источник

#cpp #programming

👉 @cpp_lib
👍1🍓1
Media is too big
VIEW IN TELEGRAM
Курс по ООП в С++: шаблоны и метапрограммирование

00:00 - Введение
02:12 - Внутреннее устройство шаблонов
03:55 - Явная специализация
06:25 - Частичная специализация
08:04 - Перегрузка и шаблоны
09:02 - Статический полиморфизм (CRTP)
12:40 - Шиблонный синглтон (CRTP)
17:57 - Основы метапрограммирования
22:17 - Заключение

источник

#cpp #programming

👉 @cpp_lib
👍7
Пол Дрейк: Использование шаблонов переменных для решения крошечной проблемы

В этом докладе Пол демонстрирует, как шаблоны переменных, появившиеся в C++14, могут быть использованы для улучшения читаемости небольшой задачи, с которой он столкнулся в своей повседневной работе.

https://www.youtube.com/watch?v=LTzpqF6wAzc

#cpp #programming

👉 @cpp_lib
👍4
Структурированная диагностика в новом окне сведений о проблеме

Многочисленные ошибки компилятора, в которых, кажется, невозможно разобраться, - бич многих разработчиков C++. Инструменты должны предоставлять лучший опыт, чтобы помочь вам понять диагностику и понять, как исправить корень проблемы.

https://devblogs.microsoft.com/cppblog/structured-diagnostics-in-the-new-problem-details-window/

#cpp #programming

👉 @cpp_lib
🔥4👍1
Экскурсия по C++, A (серия с углубленным изучением C++)
Бьярне Страуструп (2023)

В "Экскурсии по C+", третьем издании, Бьярне Страуструп дает обзор стандарта ISO C++, C++20, цель которого - дать опытным программистам четкое представление о том, что представляет собой современный C++. Это пересмотренное и обновленное издание, содержащее тщательно проработанные примеры и практическую помощь в начале работы, кратко описывает большинство основных языковых возможностей и основные компоненты стандартной библиотеки, необходимые для эффективного использования.

Скачать книгу

👉 @cpp_knigi
🔥7
Измерение частоты на STM32

В этой небольшой статье хочу рассказать вам о различных методах измерения частоты прямоугольного сигнала с помощью микроконтроллера STM32.

В процессе работы над одной из железок возникла необходимость организовать несколько выводов, которые бы измеряли частоту входного сигнала. Опробовав несколько разных вариантов, я решил, что негоже примерам пылиться на задворках диска D и стоит ими поделиться с сообществом. Надеюсь кому-то, находящемся в похожей ситуации, этот материал будет полезен. Материал в первую очередь рассчитан на новичков.

https://habr.com/ru/articles/770478/

#cpp #programming

👉 @cpp_lib
👍2
С++

Сергей Шамбир (iSpring) - “Быстрые и надёжные сигналы-слоты в C++”
Евгений Зуев (Университет Иннополис) - “Архитектура компиляции: проблемы и решения.”
Константин Гейст (iSpring) - “Следи за своим состоянием: валидация в ООП”
Антон Полухин (Yandex.Taxi) - Полезный constexpr
Институт программных систем

источник

#cpp #programming

👉 @cpp_lib
👍73🔥1🎉1
Media is too big
VIEW IN TELEGRAM
Майкл Керриск :: Понимание пространств имен пользователей Linux

Пользовательские пространства имен лежат в основе многих интересных технологий Linux, позволяющих изолировать и изолировать приложения, например, запускать контейнеры без привилегий root и создавать "песочницу" для плагинов веб-браузеров. В этой презентации мы подробно рассмотрим пользовательские пространства имен, получив базовое представление о том, что такое пользовательское пространство имен, и перейдем к таким вопросам, как: что позволяет вам делать статус "суперпользователя внутри пользовательского пространства имен" (и чего он не позволяет); и какова связь между пользовательскими пространствами имен и другими типами пространств имен (PID, UTS, сетевое и т. д.)? Мы также воспользуемся некоторыми простыми командами оболочки для создания и экспериментов с пользовательскими пространствами имен, чтобы лучше понять, как они работают.

источник

#cpp #programming

👉 @cpp_lib
👍3🍓2🌭1🎄1
Простая в реализации arena-friendly hash map

https://nullprogram.com/blog/2023/09/30/

#cpp #programming

👉 @cpp_lib
👍3👏1