Библиотека C/C++ разработчика
Kanalga Telegram’da o‘tish
Полезные материалы по всему, что может быть полезно плюсовику/сишнику. По всем вопросам @evgenycarter
Ko'proq ko'rsatish7 194
Obunachilar
-124 soatlar
-27 kun
-2530 kun
Postlar arxiv
🏆 Пройди тест на знание алгоритмов и структур данных и получи доступ к записям всех открытых (бонусных) уроков (41 видео) из курса «Алгоритмы и структуры данных» от OTUS.
Некоторые темы — просто 🔥 огонь! Например:
- Трилогия «Создание словаря: 7 способов»
- Дилогия «Визуальное сравнение пяти алгоритмов сортировок: Пузырьком, Вставкой, Шелла, Выбором и Пирамидальной»
и многое другое
➡️ НАЧАТЬ ТЕСТИРОВАНИЕ: https://vk.cc/cyKfnm
Прямо сейчас переходи на сайт, чтобы посмотреть два последних открытых урока‼️без регистрации и оценить формат обучения.
📊 «Алгоритмы и структуры данных» — это большой курс для разработчиков, которые хотят улучшить качество своего кода и развивать карьеру.
📚 Для кого этот курс?
- Для бэкенд- и фронтенд-разработчиков.
- Для junior-программистов.
📅 Старт группы уже 31 июля 2024г. Доступна рассрочка на обучение. ⏰ Успейте записаться в группу по скидке 🎁15% до 28.07 включительно.
➡️ https://vk.cc/cyKfnm
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ruИгрушечная имлементация чисел с фиксированной точкой в C++
В C++ нет базового типа чисел с фиксированной точкой, в стандартной библиотеке также нет классов для них. В тоже время работа с числами с плавающей точкой (double, float) часто может быть неочевидна (например, ответьте на вопрос: ассоциативна ли операция сложения над ними?), вдобавок язык предоставляет (часто критикуемую) возможность перегрузки арифмитических операторов, подталкивая нас к созданию собственного типа данных.
https://habr.com/ru/articles/831624/
#cpp #programming
👉 @cpp_lib
📕Introducing Qt 6: Learn to Build Fun Apps & Games for Mobile & Desktop in C++
Автор: Ben Coepp (2022)
Быстро начните работать с Qt, популярным фреймворком с открытым исходным кодом для создания приложений и игр на основе C++. Эта книга поможет вам в кратчайшие сроки создать полнофункциональные настольные и мобильные приложения.
#cpp #programming
👉 @cpp_lib
👍Пройдите тест по IoT👍
📌Пройдите тест из 10 вопросов и проверьте, насколько вы готовы к обучению на углубленном курсе «IoT Developer» от OTUS. Сможете сдать - пройдете на курс со скидкой!
⏰ Время прохождения теста ограничено 10 минут
👉ПРОЙТИ ТЕСТ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Прошиваем программу не только в начало FLASH памяти STM32
Знаете ли вы куда попадает ваша программа после того, как вы нажали кнопку RUN или DEBUG в IDE? Если да, то как изменить этот адрес или даже выйти за пределы постоянной памяти и прожигаться сразу в оперативную память.
Я работаю в CubeIDE и весь мой интерфейс будет именно из этой среды разработки.
Начнем с ответа на первый вопрос, если использовать стандартные настройки IDE и взять стандартный ST-LINK (не важно оригинал или свисток), то при прожигании микроконтроллера будет очищено нужное количество секторов во FLASH памяти и на их место будет записана программа, причем в самое начало FLASH памяти по адресу 0x08000000.
Тут немного остановимся. Для большинства проектов этого достаточно, программа находится во FLASH памяти, при перезагрузке микроконтроллера ни куда не исчезает и исправно запускается. Проблемы начинаются, когда приходит задача, встроить загрузчик, который будет самостоятельно принимать прошивку по одному из интерфейсов, будь то UART/USART, I2C или CAN и сохранять ее в требуемом месте FLASH памяти, а после перезагрузки должен самостоятельно подготовить и передать управление требуемой программе.
https://habr.com/ru/articles/831016/
#cpp #programming
👉 @cpp_lib
Как написать 2D игру на C++ и чистом STL для терминала в Linux
Привет, Хабр, я PHP разработчик с опытом работы в продакшне более 8 лет. После долгого и упорного труда мне стало скучно пилить микросервисы и бэкенды в хайлоде, я решил постичь магию разработки игр. Выбрал курс по Unreal Engine 5 и C++, так как там все структурировано, понятно, и в случае необходимости есть кому задать вопрос. На первой лекции по основам С++ преподаватель сразу предложил челлендж - написать 2D игру без использования игрового движка. Идея мне понравилась и я сразу приступил к реализации.
https://habr.com/ru/post/708486/
👉 @cpp_lib
🤝 Сидите на работе, пишете код и чувствуете, что застряли в рутине?
Ваши проекты скучны, а возможности ограничены? Хотите создавать крутые приложения для современной техники и работать с крупными государственными компаниями и бизнесом?
Представьте себе, что вы стали мастером в разработке на Qt и ОС «Аврора». Вы создаете интерфейсы для цифровой техники, мобильные приложения для госкомпаний и крупного бизнеса, а ваши навыки востребованы как никогда.
Присоединяйтесь к онлайн-курсу «Разработка прикладного ПО на Qt и ОС «Аврора» и сделайте этот прыжок в будущее!
Что вам даст этот курс:
- освоите Qt — одну из лучших кроссплатформенных библиотек для разработки UI на С++;
- изучите нативную разработку для Авроры 5.0;
- изучите структуру библиотеки Qt и научитесь писать программы на QML.
И многое другое!
👉Пройдите тест, проверьте, хватит ли вам навыков для обучения на курсе: https://vk.cc/cyCO74
🎫 Начните обучение со скидкой в 10%, действует до конца июля.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ruОсновы программирования на С/C++
Что такое IDE?
Почему стоит изучать С++?
Работа в Visual Studio C++ #1
Первая программа на С++
#5 Escape последовательности и Raw-строки в C++
Основные понятия языка С++
Представление чисел в памяти компьютера
Переменные и типы данных в С++
Локальные и глобальные переменные
Литералы
Потоковый ввод вывод в С++
.
.
.
Стек вызовов
Перегрузка и шаблоны функций в С++
Хвостовой возвращаемый тип в С++
Параметры по умолчанию в функции С/С++
Рекурсивные алгоритмы на языке С++
Указатель на функцию в языке С++
Динамическая память в языке С
Динамическая память в языке C++
Пример задачи на работу с динамической памятью в С++
Двумерный динамический массивна Еськова. Основы программирования
Доступно 56 видео
#cpp #programming
👉 @cpp_lib
Два типа рефлексий в C++
Задумывались ли вы когда-нибудь, что вашему коду стоило бы пройти сеанс психотерапии? В C++ это возможно благодаря такой замечательной штуке, как рефлексия. Она позволяет вашему коду буквально видить в зеркале себя и понимать свои ошибки и достоинства.
Итак, рефлексия — это процесс, при котором программа может инспектировать и изменять структуру и поведение во время выполнения.
Рефлексия в C++ бывает двух основных типов: компиляционная и рефлексия времени выполнения. Оба типа имеют свои особенности и применяются в различных сценариях.
https://habr.com/ru/companies/otus/articles/818507/
#cpp #programming
👉 @cpp_lib
🦾Хардкорный тест по языку С🦾
📌Пройдите тест из 20 вопросов и проверьте, насколько вы готовы к обучению на углубленном курсе «Программист С» от OTUS. Сможете сдать - пройдете на курс по спеццене!
⏰ Время прохождения теста ограничено 30 минут
👉ПРОЙТИ ТЕСТ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Как выстрелить себе в ногу в C и C++. Сборник рецептов Haiku OS
История встречи статического анализатора PVS-Studio с кодом операционной системы Haiku уходит в далёкий 2015-й год. Это был интереснейший эксперимент и полезный опыт для команд обоих проектов. Почему эксперимент? Анализатора для Linux тогда не было и не будет ещё полтора года. Но труды энтузиастов нашей команды были вознаграждены: мы познакомились с разработчиками Haiku и повысили качество кода, пополнили базу редкими ошибками программистов и доработали анализатор. Сейчас проверить код Haiku на наличие ошибок можно легко и быстро.
https://habr.com/ru/companies/pvs-studio/articles/461255/
#cpp #programming
👉 @cpp_lib
Lightning Talk: Let's Write a Lambda in C++ - Ben Deane - CppCon 2023
https://www.youtube.com/watch?v=EqiLTgQcDPM
#cpp #programming
👉 @cpp_lib
Неуязвимого кода не существует. Абсолютно защищённых данных – тоже.
Зато есть способы восстановить информацию после серьёзного сбоя или атаки.
Именно о способах восстановления повреждённых данных мы и поговорим на открытом вебинаре «Создаём бэкапы для Ethereum-блокчейна на Rust»
Вы познакомитесь с принципами хранения и развития данных в блокчейн-системах, увидите, как с помощью Rust эффективно переиспользовать код для разных задач на разных целевых платформах.
Вебинар проведёт Кирилл Федченко, опытный программист на Rust, Python, C++.
Будет интересно и Rust-разработчикам и тем, кто использует другие языки.
23 июля, 19:00 МСК
Бесплатно
➡️ Записаться на событие: https://vk.cc/cyy5pA
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
San Diego C++ Meetup July 16 2024 - 64
https://youtu.be/v1mrBXrM6FQ?si=zBMOBxQmW2tTbDuO
#cpp #programming
👉 @cpp_lib
Разработка интерфейса для Windows — это боль
Последние несколько дней я пытался найти библиотеку, которая бы позволила мне писать на C++ программы с GUI. Мои требования были довольно просты:
Достаточно только поддержки Windows;
Разрешено коммерческое использование;
Простая стилизация, в том числе и тёмный режим;
Результатом должен быть единый файл .exe размером меньше 40 МБ без или с минимальным количеством зависимостей;
Написание части программы с GUI не должно занимать больше времени, чем сама функциональность.
https://tulach.cc/writing-gui-apps-for-windows-is-painful/
#cpp #programming
👉 @cpp_lib
📕C++20 Get the Details
Grimm Rainer (2022)
В этой книге подробно рассказывается о новом стандарте С++20. Для тех, кто не знаком с С++20, приводится краткий обзор, далее рассматриваются ключевые возможности языка. Вы получите представление о ключевых изменениях в ядре языка (концепты и модули), новой библиотеке диапазонов, корутинах, а затем сможете применить теорию на практике, изучив ряд примеров. Книгу можно использовать как справочное руководство и изучать главы в удобном для вас порядке.
Издание будет полезно разработчикам, желающим освоить последнюю версию С++, изучить передовые возможности и добавления в язык, а также заглянуть за кулисы разработки новых стандартов языка и узнать, как предлагаются, обсуждаются и утверждаются новые изменения в стандарт С++ и чем вызваны эти изменения.
#cpp #programming
👉 @cpp_lib
🎯 Освой разработку ПО на QT и ОС Аврора
Пройди тест из 20 вопросов и проверь, насколько хорошо nы знаешь язык C++ и готов освоить QT и ОС Аврора .
Сможешь сдать — пройдёшь на продвинутый онлайн-курс "Разработка прикладного ПО на Qt и ОС Аврора" от OTUS.
👉 ПРОЙТИ ТЕСТ: https://vk.cc/cyseFb
🎫 Начни обучение со скидкой в 10%, действует до конца июля.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ruСтруктуры и классы в C++ и D
Реализации объектно-ориентированного программирования в разных Си-подобных языках, конечно, похожи, и все такие языки, созданные после C++, пытаются сделать ООП более удобно используемым. Сравним в этой статье ООП в D и С++.
Структуры и классы в C++ — это фактически одно и то же (хотя на практике используются по-разному), но в D есть явная семантическая разница. Структуры в D в основном предназначены для простой инкапсуляции данных и функций в единой сущности. Наследовать структуры нельзя, а память под структуры чаще всего выделяется на стеке. Классы же можно наследовать друг от друга, а объекты классов выделяются (почти всегда) в куче, контролируемой сборщиком мусора.
https://habr.com/ru/articles/827240/
#cpp #programming
👉 @cpp_lib
Как malloc сломала JPGLoader в Serenity, или Как выиграть в лотерее
Пару лет назад мне выпала возможность расследовать в SerenityOS интересный баг, связанный с декодированием изображений JPG, которые по какой-то причине при просмотре выглядели так, как вы видите выше.
Странно, не так ли? Похоже, будто просто перепутали RGB и BGR. При этом внесение в JPGLoader.cpp следующего изменения:
- const Color color { (u8)block.y[pixel_index], (u8)block.cb[pixel_index], (u8)block.cr[pixel_index] };
+ const Color color { (u8)block.cr[pixel_index], (u8)block.cb[pixel_index], (u8)block.y[pixel_index] };
context.bitmap->set_pixel(x, y, color);
https://habr.com/ru/companies/ruvds/articles/828224/
original https://sin-ack.github.io/posts/jpg-loader-bork/
#cpp #programming
👉 @cpp_lib
