ru
Feedback
Библиотека C/C++ разработчика

Библиотека C/C++ разработчика

Открыть в Telegram

Полезные материалы по всему, что может быть полезно плюсовику/сишнику. По всем вопросам @evgenycarter

Больше
7 321
Подписчики
-324 часа
+57 дней
+1230 день
Архив постов
*(char*)0 = 0; - What Does the C++ Programmer Intend With This Code? - JF Bastien - C++ on Sea 2023 источник #cpp #programming 👉 @cpp_lib

На грани между exceptions и std::expected Посмотрев на новый тип из грядущего стандарта под названием std::expected я пришел к интересному на мой взгляд мнению, что можно немного переосмыслить его суть и сделать несколько ближе к исключениям. В данной статье хочу немного рассказать о небольшом исследовании реализации expected, в которой используется стирание типа ошибки. https://habr.com/ru/articles/737408/ #cpp #programming 👉 @cpp_lib

Внимание, разработчики! Приглашаем вас на открытый вебинар по алгоритмам и структурам данных от опытного практикующего экспер
Внимание, разработчики! Приглашаем вас на открытый вебинар по алгоритмам и структурам данных от опытного практикующего эксперта💯 Ждём вас на уроке «Визуальное сравнение 1-2-3 алгоритмов сортировок» от OTUS, где мы: - подробно рассмотрим три алгоритма сортировок: Пузырьком, Вставкой и Шелла; - сравним их по различным критериям: сложность и количество обменов, стабильность и адаптивность; - напишем алгоритмы и сравним их быстродействие; - продемонстрируем их работу на игральных картах🂱️ 🔥 Спикер Евгений Волосатов — программист баз данных и преподаватель с огромным и разнообразным опытом, автор статей и учебных программ по C#, Java, PHP. Встречаемся 1 июля в 20:00 мск в преддверии старта курса «Алгоритмы и структуры данных». Все участники вебинара получат специальную цену на обучение. 🔴 Ссылка для регистрации: https://vk.cc/cxYdTp Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Оптимизация GUI на Qt Как правило, при создании desktop-приложений на платформе Qt не возникает проблем, связанных с медленно
Оптимизация GUI на Qt Как правило, при создании desktop-приложений на платформе Qt не возникает проблем, связанных с медленностью работы GUI. Qt – платформа достаточно надежная, неплохо вылизанная по всем параметрам, в том числе и по скорости работы. Однако всё же иногда бывают ситуации, когда из-за обилия виджетов графический интерфейс немного притормаживает, и это печально). В этой статье я приведу один частный пример простого графического интерфейса и покажу, как за два шага можно сначала ускорить его в 11 раз, а потом и в целых 34 раза. Вдобавок к этому, я постараюсь немного осветить механизм принятия решения для таких оптимизационных задач, постараюсь показать направление мыслей для правильного решения. Поехали! https://habr.com/ru/post/672962/ #cpp #programming 👉 @cpp_lib

Личный блог Барта Филиппеĸа про C++ Барт выпусĸал свои ĸниги, получил награду Microsoft MVP (Most Valuable Professional), частый гость подкаста CppCast. https://www.fluentcpp.com/posts/ #cpp #programming 👉 @cpp_lib

🎯 Вперед к улучшенной организации кода с машиной состояний в Qt! 4 июля в 20:00 мск — откройте для себя мир работы с Qt на о
🎯 Вперед к улучшенной организации кода с машиной состояний в Qt! 4 июля в 20:00 мск — откройте для себя мир работы с Qt на открытом практическом вебинаре. На уроке вы освоите: - основы работы с машиной состояний в Qt: создание состояний, определение переходов и управление сигналами; - сложные логические условия для эффективных переходов и повышения производительности приложения; - использование машины состояний для улучшения организации кода и создания более совершенного приложения. Кому подходит урок: - программистам, использующим Qt и стремящимся к оптимизации своего кода; - любознательным разработчикам, желающим погрузиться в мир машин состояний и их применения. Спикер — ведущий разработчик в одной из крупнейших компаний и опытный преподаватель. Встречаемся в преддверии старта курса «Разработка прикладного ПО на Qt и ОС «Аврора». Все участники вебинара получат специальную цену на обучение! ➡️ Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок: https://vk.cc/cxYb7o Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

📕API Design for C++, 2nd Edition Martin Reddy (2024) В этой книге всесторонне рассматривается разработка API, начиная с перв
📕API Design for C++, 2nd Edition Martin Reddy (2024) В этой книге всесторонне рассматривается разработка API, начиная с первоначального проектирования и заканчивая реализацией, тестированием, документированием, выпуском, версионированием, сопровождением и уничтожением. В ней представлены паттерны и практики, которые приносят реальную пользу как отдельным разработчикам, так и организациям. Второе издание включает все новые материалы, полностью обновленные для последних версий C++, в том числе новую главу о параллелизме и многопоточности, а также новую главу о том, как могут сосуществовать код Objective C++ и C++ и как можно получить доступ к API C++ из программ на Swift. Кроме того, в книге рассматриваются часто упускаемые из виду вопросы, как технические, так и нетехнические, способствующие принятию успешных проектных решений, которые приводят к созданию высококачественных, надежных и долговечных API. #cpp #programming 👉 @cpp_lib

Программирование на С++ https://bdpx.github.io/cpp/ #cpp #programming 👉 @cpp_lib
+3
Программирование на С++ https://bdpx.github.io/cpp/ #cpp #programming 👉 @cpp_lib

Промпт-инженеринг — новый хайп или перспективная профессия? 🤔 Рассказываем про направление с большим потенциалом и маленькой
Промпт-инженеринг — новый хайп или перспективная профессия? 🤔 Рассказываем про направление с большим потенциалом и маленькой конкуренцией на рынке на нашей бесплатной лекции. По итогам эфира вы узнаете: — Кто такой промт-инженер и чем он занимается; — Как интегрировать скиллы промт-инжинеринга в работу, если вы работаете в IT; — Кому в действительности нужны его услуги и какие результаты это даст; — Сколько платят промт-инженеру в России и мире; — Кто может стать промт-инженером и какой порог входа; Кликай на ссылку и забирай подробную информацию вместе с классными бонусами 👈🏼 erid: LjN8JzLER ООО Зерокодер, ИНН 9715401631

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

С++ и безопасность: правда ли все так плохо? Сергей проанализировал недавний отчет NSA и рассказал, так ли плохо обстоят дела с безопасностью в С++ на самом деле и что современная индустрия предлагает для решения этого вопроса. Он разобрал проблемы с безопасностью в С++ на открытых примерах из Chromium, среди которых: — работа с памятью; — UB; — C legacy, строки, арифметика, преобразования типов. Спикер также показал различные подходы к митигации описанных проблем, в частности: — статический анализ; — динамический анализ; — фаззинг-тестирование; — харденинг; — выделение безопасных подмножеств языка: Misra, AUTOSAR, стандарт Google; — методология SDL как комплексное решение; — (бонус) подход KasperskyOS по определению недоверенных компонентов, допускающих наличие уязвимостей, но без возможности их проэксплуатировать и развить атаку. источник #cpp #programming 👉 @cpp_lib

Создание игры Пазлы на языке C++ Ссылка на картинки Ссылка на код источник #cpp #programming 👉 @cpp_lib

🚀Хочешь выжать максимум из своих проектов? Прокачай свои навыки и окунись в мир кроссплатформенной разработки на C++! Включа
🚀Хочешь выжать максимум из своих проектов? Прокачай свои навыки и окунись в мир кроссплатформенной разработки на C++! Включай свой мозг на полную мощность и присоединяйся к нам 24 июня в 20:00 мск на вебинаре от тимлида одного из крупнейших российских банков. - узнаем, как решить проблему поиска зависимостей; - напишем conan-файл; - организуем свой сервер пакетов в своей экосистеме CI/CD. 👉 Не упусти возможность обойти конкурентов, регистрируйся прямо сейчас: РЕГИСТРАЦИЯ

Эффективное использование памяти во встраиваемых системах Алексей Алешкин (ИнфоТеКС) Отличительная особенность разработки ПО для встраиваемых систем — ограниченность доступной памяти. Применение С++ значительно повышает скорость разработки, однако ухудшает прозрачность управления памятью и нефункциональные характеристики кода. Эти побочные эффекты зачастую приводят к понижению потребительских качеств продукта, ухудшению стабильности его работы или даже к невозможности реализации проекта на заданной платформе. В процессе разработки проекта SIES Core команда Алексея столкнулась со всеми перечисленными побочными эффектами, что потребовало глубоких долгих исследований, результатами которых он поделился с аудиторией. Доклад будет интересен разработчикам backend и embedded, создающим ПО с использованием С++ на недорогих платформах с ограниченным объемом памяти и отсутствием MMU. Технологии: аллокаторы, MMU, Semihosting FS, GCC, GDB, OpenOCD. источник #cpp #programming 👉 @cpp_lib

C++20 в bare-metal программировании, работа с регистрами микроконтроллеров Cortex-M Сегодня я хотел бы обсудить тему, с котор
C++20 в bare-metal программировании, работа с регистрами микроконтроллеров Cortex-M Сегодня я хотел бы обсудить тему, с которой так или иначе сталкивался почти каждый программист встраиваемых устройств без использования настоящих операционных систем, а именно прямое управление периферийными узлами микроконтроллера. A конкретнее, я хотел бы обсудить повышение безопасности при управлении периферийными модулями без потери эффективности, гибкости и читаемости. Кто-то может подумать, что данная тема уже рассказана вдоль и поперек в многочисленных мануалах по проектам для STM32 (например, хабр). Те же, кто уже понял о чем будет идти речь, может подумать что это полное повторение уже существующих подобных идей (например эта и другие статьи автора зародили во мне интерес к этой теме несколько лет назад, а вот в языке программирования Rust большинство ящиков/крейтов Cortex-M/PAC уже используют проверками безопасности при манипулировании регистрами). Однако, не нужно спешить с выводами. Я полагаю, что могу дать интересную и полезную информацию для обоих вышеперечисленных категорий читателей. Перед началом, тему того 'Зачем вообще лезть на уровень регистров, если каждый производитель дает HAL/BSP?' я оставлю вне рамок данной статьи. Я предполагаю, что если читатель открыл статью, то ему уже интересна данная тема, и мне не столь важно почему. https://habr.com/ru/articles/819499/ #cpp #programming 👉 @cpp_lib

.💡 Разрабатываешь на C++? Освой кроссплатформенную разработку на QT и ОС Аврора ❗️ Вкладывай в перспективу - вкладывай в себ
.💡 Разрабатываешь на C++? Освой кроссплатформенную разработку на QT и ОС Аврора ❗️ Вкладывай в перспективу - вкладывай в себя! Пройди тест из 20 вопросов и проверь, насколько хорошо nы знаешь язык C++ и готов освоить QT и ОС Аврора . Сможешь сдать — пройдёшь на продвинутый онлайн-курс "Разработка прикладного ПО на Qt и ОС Аврора" от OTUS. 👉 ПРОЙТИ ТЕСТ: https://vk.cc/cxKBIx 🎁 Успей на курс! Только до 23 июня скидка 10%, подробности у наших менеджеров - после прохождения теста они свяжутся с вами. Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Как сравнить целые числа со знаком и без знака в C++20? Сравнение двух чисел должно быть простым, верно? Может быть, и должно
Как сравнить целые числа со знаком и без знака в C++20? Сравнение двух чисел должно быть простым, верно? Может быть, и должно, но в языке C++ это не так, даже если ограничить сравнение областью целых чисел. Если попытаться сравнить знаковое и беззнаковое целое число, то возможны несколько вариантов развития событий. Возможно, это действительно сработает, и вы никогда не узнаете, чем рисковали. Возможно, все будет не так, как вы ожидали, и вы потратите немало времени, ломая голову над тем, что же произошло. Возможно также, что он не сработает в соответствии с вашими ожиданиями, но это останется незамеченным. https://www.sandordargo.com/blog/2023/10/11/cpp20-intcmp-utilities #cpp #programming 👉 @cpp_lib

Сборка мусора: как это делается в системном программировании Давайте поговорим об одной из наиболее критичных по производител
Сборка мусора: как это делается в системном программировании Давайте поговорим об одной из наиболее критичных по производительности программ, которой вы пользуетесь ежедневно: о вашей операционной системе. Поскольку при каждом разгоне железа вы получаете дополнительную вычислительную мощность, операционная система никогда за этим не поспевает. Поэтому постоянно доводится читать о том, как разработчики ядра и драйверов выжимают последнее из своего кода. Кроме того, операционные системы должны быть рассчитаны на массовую конкурентность. Дело не только в том, что наша операционная система отвечает за планирование всех процессов и потоков пользовательского пространства, но и в том, что в ядре хватает собственных потоков, а также обработчиков прерываний, нужных для взаимодействия с железом. Требуется минимизировать время, которое тратится на ожидание, так как, опять же, при любой задержке вы воруете время ваших пользователей. https://bitbashing.io/gc-for-systems-programmers.html #cpp #programming 👉 @cpp_lib

🟢 Практический вебинар для начинающих С++-разработчиков — почему утекает динамически выделенная память и как с этим бороться
🟢 Практический вебинар для начинающих С++-разработчиков — почему утекает динамически выделенная память и как с этим бороться? Ждем вас на открытом уроке, где мы разберем: - зачем нужна динамическая память и сложности работы с ней в C++; - основные ошибки, которые возникают при работе с динамической памятью; - инструментарий диагностики ошибок, такой как valgrind и sanitizers; - идиому RAII в контексте динамической памяти. 👨‍🎓 Спикер — опытный разработчик и руководитель команд, преподаватель и эксперт конференций C++ Russia, escar Europe. ⏰ Встречаемся 20 июня в 20:00 мск в преддверии старта курса «Специализация C++ Developer». Все участники вебинара получат специальную цену на обучение! ➡ Регистрируйтесь прямо сейчас, чтобы занять место на открытом уроке и получить запись: РЕГИСТРАЦИЯ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Разбор кода игры Super Mario на языке C++ 00:00 Начало 00:17 Шаг 1: Создание игрока 01:48 Шаг 2: Создание платформера 07:03 Шаг 3: Создание флажка 08:26 Шаг 4: Поставить изображение frend 08:57 Шаг 5: Добавления надписей для уровня 11:25 Шаг 6: Добавления врагов 16:45 Шаг 7: Добавление урона и возрождение игрока 19:13 Шаг 8: Добавление меню 23:31 Шаг 9: Добавление музыки и звуки 26:43 Игра готова Ссылки на картинки и звуки https://disk.yandex.ru/d/V03815gsktfqUw Ссылка на код https://gist.github.com/Andrey-byte/0a8834600a241eda303e293498c664fb #cpp #programming 👉 @cpp_lib