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

Оказывается пробрасывать можно не только сетевые порты, а еще и регистры периферии микроконтроллера(МК). Идея та же самая - открыть периферию для использования вне микроконтроллера. Для наглядности давайте сравним более детально.

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

#cpp #programming

👉 @cpp_lib
👍4
Shared, TO, PLOT: друзья или враги

В прошлой заметке я остановился на вопросе о том, действительно ли указатели функций и виртуальные вызовы являются медленными. Я опубликовал статью в социальных сетях, и меня завалили ерундовыми комментариями. Однако среди этих обломков нашлось несколько хороших идей.

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

https://lucisqr.substack.com/p/shared-lto-plt-friends-or-foes

#cpp #programming

👉 @cpp_lib
🔥5👍2
Создание HTTP-запросов на C++

В этой статье я покажу вам, как создавать HTTP-запросы к REST-серверу с помощью библиотеки C++ Request, написанной Ху Нгуеном. При её написании мистер Нгуен во многом ориентировался на принципы проектирования из Python Requests, поэтому для тех, кто использовал или знаком с Python Requests, C++ Requests окажется вполне понятна.

https://www.codeproject.com/Articles/1244632/Making-HTTP-REST-Request-in-Cplusplus

#cpp #programming

👉 @cpp_lib
4👍3
Инженерный калькулятор на C++. Часть 2: Алгоритм сортировочной станции

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

Введение
В прошлой части мы научились разбивать исходное математическое выражение формата (log2(18)/3.14)*sqrt(0.11^(-3)/0.02)на токены. На выходе мы получаем массив токенов, каждый их которых содержит информацию о типе (оператор, скобка, число, ...) и об ассоциативности, если он таковую имеет.

Теперь мы хотим привести выражение к виду обратной польской записи (RPN), чтобы затем удобно его посчитать. Это нам позволяет сделать изобретенный Эдсгером Дейкстрой алгоритм сортировочной станции.

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

#cpp #programming

👉 @cpp_lib
👍2
Сложность C++ - Что делает C++ сложным для вас?

Вопрос о том, является ли C++ сложным языком, конечно, субъективен, но мало кто будет спорить с этим утверждением.

Вопрос о том, что делает C++ сложным для вас, конечно, также субъективен, но это интересный вопрос с потенциальными последствиями. Мы можем сделать вывод:

Есть функции, которые нам нужно учить лучше.
Есть области, которые нуждаются в улучшении через процесс ISO
Есть области, которые могут выиграть от улучшения инструментов

https://www.incredibuild.com/blog/c-complexity-what-makes-c-complex-for-you

#cpp #programming

👉 @cpp_lib
👍3
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