Библиотека C/C++ разработчика
Open in Telegram
Полезные материалы по всему, что может быть полезно плюсовику/сишнику. По всем вопросам @evgenycarter
Show more7 198
Subscribers
+224 hours
-27 days
-2730 days
Posts Archive
С++
Сергей Шамбир (iSpring) - “Быстрые и надёжные сигналы-слоты в C++”
Евгений Зуев (Университет Иннополис) - “Архитектура компиляции: проблемы и решения.”
Константин Гейст (iSpring) - “Следи за своим состоянием: валидация в ООП”
Антон Полухин (Yandex.Taxi) - Полезный constexpr
Институт программных систем
источник
#cpp #programming
👉 @cpp_lib
Классические или плоские ассоциативные контейнеры – что выбрать разработчику на С++?
Разберемся на бесплатном открытом уроке вместе с Андреем Рыжиковым – разработчиком в НИИ обработки аэрокосмических изображений.
На вебинаре:
- вспомним устройство «классических» ассоциативных контейнеров;
- поймем, как выбрать между std::map и std::unordered_map;
- узнаем, как реализованы «плоские» контейнеры из C++23 и когда их стоит предпочесть.
Занятие пройдёт 20 декабря в 20:00 мск в рамках курса «C++ Developer. Professional». После урока вы сможете продолжить обучение в рассрочку.
Для бесплатного участия и получения записи пройдите короткое тестирование прямо сейчас: https://vk.cc/ct614U
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ruИзмерение частоты на STM32
В этой небольшой статье хочу рассказать вам о различных методах измерения частоты прямоугольного сигнала с помощью микроконтроллера STM32.
В процессе работы над одной из железок возникла необходимость организовать несколько выводов, которые бы измеряли частоту входного сигнала. Опробовав несколько разных вариантов, я решил, что негоже примерам пылиться на задворках диска D и стоит ими поделиться с сообществом. Надеюсь кому-то, находящемся в похожей ситуации, этот материал будет полезен. Материал в первую очередь рассчитан на новичков.
https://habr.com/ru/articles/770478/
#cpp #programming
👉 @cpp_lib
Repost from Книги для программистов C/C++
Экскурсия по C++, A (серия с углубленным изучением C++)
Бьярне Страуструп (2023)
В "Экскурсии по C+", третьем издании, Бьярне Страуструп дает обзор стандарта ISO C++, C++20, цель которого - дать опытным программистам четкое представление о том, что представляет собой современный C++. Это пересмотренное и обновленное издание, содержащее тщательно проработанные примеры и практическую помощь в начале работы, кратко описывает большинство основных языковых возможностей и основные компоненты стандартной библиотеки, необходимые для эффективного использования.
Скачать книгу
👉 @cpp_knigi
❓Что нужно знать новичкам в С++, чтобы выделяться среди конкурентов?
✅Расскажем на бесплатном открытом уроке «Как в С++ сделать указатель умным и зачем» от OTUS и Карины Дорожкиной – ведущего разработчика С++ с более, чем 10-летним опытом.
🔥На вебинаре:
- поговорим об опасности сырых указателей и зачем им интеллектуальность;
- обсудим идиому RAII и познакомимся с одним из умных указателей std::unique_ptr;
- разберём сложности работы с динамической памятью в C++ и другое.
📆 Занятие пройдёт 7 декабря в 20:00 мск в рамках курса «Специализация C++ Developer». После урока вы сможете продолжить обучение на специальных условиях.
👉Для бесплатного участия регистрируйтесь сейчас: https://vk.cc/csYtIH
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Repost from Книги для программистов C/C++
C++ Templates: The Complete Guide
Автор: Douglas Gregor, Nicolai M. Josuttis, David Vandevoorde (2017)
Шаблоны — одна из самых мощных особенностей C++, но они по-прежнему часто используются неэффективно и неправильно, несмотря на улучшения в языке. В данной книге три эксперта по C++ показывают почему, когда и как использовать современные шаблоны для создания более быстрого, эффективного и простого в обслуживании программного обеспечения.
Во время чтения книги вы:
✔️Поймете, как именно ведут себя шаблоны, и сможете избежать распространенных ошибок;
✔️Научитесь использовать шаблоны для написания более эффективного, гибкого и удобного в обслуживании программного обеспечения;
✔️Освоите самые эффективные современные идиомы и техники;
✔️Воспользуетесь утилитами для обобщенного программирования в стандартной библиотеке C++.
@cpp_knigi
Структурированная диагностика в новом окне сведений о проблеме
Многочисленные ошибки компилятора, в которых, кажется, невозможно разобраться, - бич многих разработчиков C++. Инструменты должны предоставлять лучший опыт, чтобы помочь вам понять диагностику и понять, как исправить корень проблемы.
https://devblogs.microsoft.com/cppblog/structured-diagnostics-in-the-new-problem-details-window/
#cpp #programming
👉 @cpp_lib
Как сделать юнит-тестирование на C++ эффективнее?
Расскажем на бесплатном открытом уроке «Mocking в unit-тестировании с использованием GTest» от OTUS.
Рассмотрим способ unit-тестирования с помощью mock-объектов, когда интерфейс тестируемого кода не позволяет легко изолировать его от внешних зависимостей.
Вебинар будет полезен разработчикам программного обеспечения и QA-инженерам.
Занятие пройдёт 14 декабря в 20:00 мск в рамках курса «C++ Developer. Professional». После урока вы сможете продолжить обучение в рассрочку.
Для бесплатного участия и получения записи пройдите короткое тестирование прямо сейчас: https://vk.cc/csVfqu
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Пол Дрейк: Использование шаблонов переменных для решения крошечной проблемы
В этом докладе Пол демонстрирует, как шаблоны переменных, появившиеся в C++14, могут быть использованы для улучшения читаемости небольшой задачи, с которой он столкнулся в своей повседневной работе.
https://www.youtube.com/watch?v=LTzpqF6wAzc
#cpp #programming
👉 @cpp_lib
Курс по ООП в С++: шаблоны и метапрограммирование
00:00 - Введение
02:12 - Внутреннее устройство шаблонов
03:55 - Явная специализация
06:25 - Частичная специализация
08:04 - Перегрузка и шаблоны
09:02 - Статический полиморфизм (CRTP)
12:40 - Шиблонный синглтон (CRTP)
17:57 - Основы метапрограммирования
22:17 - Заключение
источник
#cpp #programming
👉 @cpp_lib
❓Что нужно знать новичкам в С++, чтобы выделяться среди конкурентов?
✅Расскажем на бесплатном открытом уроке «Как в С++ сделать указатель умным и зачем» от OTUS и Карины Дорожкиной – ведущего разработчика С++ с более, чем 10-летним опытом.
🔥На вебинаре:
- поговорим об опасности сырых указателей и зачем им интеллектуальность;
- обсудим идиому RAII и познакомимся с одним из умных указателей std::unique_ptr;
- разберём сложности работы с динамической памятью в C++ и другое.
📆 Занятие пройдёт 7 декабря в 20:00 мск в рамках курса «Специализация C++ Developer». После урока вы сможете продолжить обучение на специальных условиях.
👉Для бесплатного участия регистрируйтесь сейчас: https://vk.cc/csT7jW
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
Кроссплатформенный многопоточный TCP/IP сервер на C++
Решил задаться целью написать простой в использовании и при этом быстрый многопоточного TCP/IP сервера на C++ и при этом кроссплатформенный — как минимум чтобы работал на платформах Windows и Linux без требования как-либо изменять код за пределами самописной библиотеки. Ранее, на чистом C++ без библиотек вроде Qt, сетевым программировнием не занимался, и предвещал себе долгое время мучений с платформо-зависимостью. Но как оказалось всё гораздо проще чем казалось на первый взгляд, ведь в основном интерфейсы сокетов обоих систем похожи как две капли воды и различаются лишь в мелких деталях.
https://habr.com/ru/articles/503432/
#cpp #programming
👉 @cpp_lib
❓Что нужно знать новичкам в С++, чтобы выделяться среди конкурентов?
✅Расскажем на бесплатном открытом уроке «Как в С++ сделать указатель умным и зачем» от OTUS и Карины Дорожкиной – ведущего разработчика С++ с более, чем 10-летним опытом.
🔥На вебинаре:
- поговорим об опасности сырых указателей и зачем им интеллектуальность;
- обсудим идиому RAII и познакомимся с одним из умных указателей std::unique_ptr;
- разберём сложности работы с динамической памятью в C++ и другое.
📆 Занятие пройдёт 7 декабря в 20:00 мск в рамках курса «Специализация C++ Developer». После урока вы сможете продолжить обучение на специальных условиях.
👉Для бесплатного участия регистрируйтесь сейчас: https://vk.cc/csNYPS
Сложность C++ - Что делает C++ сложным для вас?
Вопрос о том, является ли C++ сложным языком, конечно, субъективен, но мало кто будет спорить с этим утверждением.
Вопрос о том, что делает C++ сложным для вас, конечно, также субъективен, но это интересный вопрос с потенциальными последствиями. Мы можем сделать вывод:
Есть функции, которые нам нужно учить лучше.
Есть области, которые нуждаются в улучшении через процесс ISO
Есть области, которые могут выиграть от улучшения инструментов
https://www.incredibuild.com/blog/c-complexity-what-makes-c-complex-for-you
#cpp #programming
👉 @cpp_lib
Инженерный калькулятор на C++. Часть 2: Алгоритм сортировочной станции
Всем маткульт-привет! В этой статье мы продолжаем и заканчиваем написание консольного инженерного калькулятора. Для понимания происходящего настоятельно рекомендую сначала ознакомиться с первой частью.
Введение
В прошлой части мы научились разбивать исходное математическое выражение формата (log2(18)/3.14)*sqrt(0.11^(-3)/0.02)на токены. На выходе мы получаем массив токенов, каждый их которых содержит информацию о типе (оператор, скобка, число, ...) и об ассоциативности, если он таковую имеет.
Теперь мы хотим привести выражение к виду обратной польской записи (RPN), чтобы затем удобно его посчитать. Это нам позволяет сделать изобретенный Эдсгером Дейкстрой алгоритм сортировочной станции.
https://habr.com/ru/articles/777368/
#cpp #programming
👉 @cpp_lib
erid: LjN8JtdeC
Статический анализатор PVS-Studio: на страже чистого кода 💪
Мы – небольшая команда программистов, заряженных на успех. Разрабатываем и продвигаем свой продукт – статический анализатор кода PVS-Studio. Любим писать статьи на Хабр, выступать на конференциях и рассказывать об этом в нашем Telegram-канале!
Приглашаем тебя заглянуть в него. Там ты найдешь:
📚 актуальные статьи о С++ от наших разработчиков;
🧠 задачки от нашего анализатора на тренировку твоего код-ревью;
📢 инсайты с конференций С++ Russia, HighLoad++ и других;
🧐 погружение в терминологию и методологию статического анализа кода;
🐞 разбор ошибок в известных Open Source проектах;
🔢 квизы, мемы и интервью с экспертами.
Заглядывай в наш Telegram-канал! Обещаем, скучно не будет 😉
Реклама. ООО "ПВС". ИНН 7105502635.
Создание 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
О дебаггинге в С/С++.
https://pspdfkit.com/blog/2021/time-travel-debugging-for-c/
#cpp #programming
👉 @cpp_lib
