Библиотека C/C++ разработчика
الذهاب إلى القناة على Telegram
Полезные материалы по всему, что может быть полезно плюсовику/сишнику. По всем вопросам @evgenycarter
إظهار المزيد7 197
المشتركون
+224 ساعات
-27 أيام
-2730 أيام
أرشيف المشاركات
C++ on Sea 2023
https://www.youtube.com/playlist?list=PL5XXu3X6L7jtXSfqjaQnVXJOCFRyfHrS6
#cpp #programming
🔥 Топ-5 способов создания ассоциативного массива
1. Односвязный список
2. Отсортированный массив
3. Двоичное дерево поиска
4. Хэш-таблица
5. Префиксное дерево
💪 Разберём каждый из них подробно на бесплатном открытом уроке «Создание ассоциативного массива различными способами» от OTUS.
На эфире мы:
✔️ реализуем структуру данных «ассоциативный массив» для хранения пар (ключ, значение)
✔️ рассмотрим несколько алгоритмов для решения этой задачи
✔️ сравним их эффективность
📢📢 Занятие состоится 15 ноября в 20:00 мск и будет приурочено к старту курса «Алгоритмы и структуры данных» в Otus.
🎫 После вебинара можно приобрести курс в рассрочку.
➡️ Регистрация на вебинар: https://vk.cc/csgdm1
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ruВведение в компиляцию C++ в командной строке
Возможно, наступит день, когда технологии продвинутся настолько, что нам не нужно будет беспокоиться о том, какие флаги установлены при компиляции, какие файлы включены. Но это не сегодняшний день.
При использовании Unreal Engine 4 или другого высокоуровневого фреймворка компиляция кода на языке C++ в значительной степени скрыта от глаз. Это очень удобно, когда все работает, но становится препятствием, когда нужно что-то изменить. Единственный способ не стать рабом своих творений - понять, как они работают.
https://unrealistic.dev/posts/introduction-to-c-compilation-on-the-command-line
#cpp #programming
👉 @cpp_lib
💪🔥 Переходите на новый уровень в C++ и разнообразьте свою работу!
Пройди тест по C++ и проверь как хорошо ты знаешь язык.
Ответишь — пройдешь на продвинутый курс «C++ Developer. Professional» от OTUS по специальной цене + получишь масстер-класс от преподавателя
❗️ ПРОЙТИ ТЕСТИРОВАНИЕ
https://otus.pw/HG6p/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: LjN8JxJeM
C++23: четыре новых ассоциативных контейнера
В C++23 появились четыре новых ассоциативных контейнера: std::flat_map, std::flat_multimap, std::flat_set и std::flat_multiset, которые являются полноценной заменой упорядоченных ассоциативных контейнеров std::map, std::multimap, std::set и std::multiset. Они были добавлены в C++23 по двум причинам: расход памяти и производительность.
https://www.modernescpp.com/index.php/c23-four-new-associative-containers/
#cpp #programming
👉 @cpp_lib
Оптимизация с помощью аллокаторов в C++17
Благодаря полиморфным аллокаторам в C++17 можно оптимизировать распределение памяти. Эта оптимизация включает в себя производительность и повторное использование памяти.
https://www.modernescpp.com/index.php/optimization-with-allocators-in-c17/
#cpp #programming
👉 @cpp_lib
Ускорение работы за счет дублирования кода
https://voidstar.tech/code_duplication/
#cpp #programming
👉 @cpp_lib
💡 Как попасть в команду разработки госпроектов?
Изучить российскую ОС на бесплатном открытом уроке «Знакомство с ОС Аврора и возможностями разработки под неё» от OTUS.
На эфире:
✔️ познакомимся с российской мобильной операционной системой Аврора и её основными особенностями;
✔️ посмотрим на среду разработки приложений Аврора IDE, на структуру и конфигурацию приложения;
✔️ рассмотрим приложение, отправляющее уведомление в графическую подсистему Lipstick.
📢📢 Занятие пройдёт 13 ноября в 20:00 мск и будет приурочено к старту курса «Разработка прикладного ПО на Qt и ОС Аврора».
🎫 После урока вы сможете продолжить обучение в рассрочку.
➡️ Регистрируйтесь на мероприятие прямо сейчас: https://vk.cc/csaFIB
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ruRepost from Книги для программистов C/C++
Data Parallel C++: Programming Accelerated Systems Using C++ and SYCL, 2nd Edition
Автор: Ben Ashbaugh (2023)
В этой книге рассказывается о параллельном программировании данных с использованием языка C++ и SYCL, а также обо всем, что необходимо для программирования ускоренных систем. Книга начинается с представления параллелизма данных и фундаментальных тем для эффективного использования SYCL. В последующих главах рассматриваются расширенные темы, включая обработку ошибок, программирование с учетом аппаратных особенностей, связь и синхронизацию, а также модели памяти.
Весь исходный код примеров, используемых в книге, находится в свободном доступе на GitHub. Примеры написаны на современном языке SYCL и регулярно обновляются для обеспечения совместимости с различными компиляторами.
👉 @cpp_knigi
Знакомство с constexpr unique_ptr (С++23)
https://andreasfertig.blog/2023/10/using-cpp23s-constexpr-unique_ptr/
#cpp #programming
👉 @cpp_lib
Бесплатный С++ митап в Москве и онлайн. Константин Владимиров, Илья Шишков и инженеры YADRO
Встреча пройдет 21 ноября в Москве недалеко от станции «Улица 1905 года», а участники из других городов смогут задать вопросы спикерам в чате трансляции на YouTube.
В программе:
• Доклад «Как работает (и не работает) lifetime extension» от Елены Степановой, техлида в команде телекома (YADRO)
• Доклад «C++ 23 глазами практикующего системного программиста» от Ильи Казакова, разработчик в команде систем хранения данных (YADRO)
• Дискуссия о технических собеседованиях с Константином Владимировым (Syntacore), Ильей Шишковым (ex-Яндекс) и Еленой Степанова.
Регистрация обязательна — записывайтесь по ссылке.
Три очень практичные фичи C++23
C++23 — это текущая рабочая версия стандарта C++. На момент написания статьи туда пока не было включено ни одной крупной фичи, но ряд небольших нововведений, а также множество отчетов о дефектах уже утверждены в стандарте. Вы можете посмотреть текущий статус и поддержку компиляторами новых фич здесь. Многие из этих нововведений представляют из себя небольшие улучшения и вещи, которыми вы, вероятно, не будете пользоваться на регулярной основе. Однако сегодня я хочу обратить ваше внимание на три новые фичи C++23, которые, на мой взгляд, выделяются на фоне остальных именно тем, насколько часто они будут встречаться в нашем коде.
https://mariusbancila.ro/blog/2022/01/17/three-cpp23-features-for-common-use/
#cpp #programming
👉 @cpp_lib
🔫 Создайте свой первый шутер с нуля и ворвитесь в геймдев
👉 На бесплатном открытом уроке «Создаём простейший шутер от третьего лица на Unreal Engine 5» от OTUS.
За 2 эфира вы сможете создать свою первую игру для портфолио, начнём уже 8 ноября в 20:00 мск:
- создадим проект и игровую сцену;
- импортируем игровые ассеты и анимации для нашего шутера;
- подготовим UI: уровень здоровья и боеприпасов.
📌 Занятие будет приурочено к старту курса «Unreal Engine Game Developer. Basic». После урока вы сможете продолжить обучение на специальных условиях и получить видеокурс по программированию на C++ в подарок!
👉 Для бесплатного участия и получения записи регистрируйтесь прямо сейчас: https://vk.cc/cs7aS0
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Советы по рефакторингу C++
Когда-то давно, в мире, где Си++ был молод, а глобальная кодовая база была невелика, можно было легко прочитать и просмотреть чужой код, затем принять его и развивать проект до бесконечности. Но, конечно, такого, скорее всего, не было, но интересно представить себе время, когда программы были короткими и простыми, но при этом законченными настолько, что функциональность не требовала расширения. В таком мире рефакторинг кода, возможно, и не требовался. Однако если кодовая база нуждается в проверке или обновлении, будь то расширение, улучшение в соответствии с изменениями в языке или даже просто проверка эффективности, то рефакторинг кода становится скорее необходимостью, чем просто приятным занятием.
Идея рефакторинга заключается в том, чтобы внести улучшения в существующий код, не меняя того, что он делает. По сути, улучшается дизайн и общая читаемость, а функциональность остается нетронутой. Преимущества рефакторинга кода заключаются в повышении эффективности, читаемости, сопровождаемости и расширяемости. А также синтаксическое и семантическое снижение сложности кода.
https://www.incredibuild.com/blog/tips-for-c-refactoring
#cpp #programming
👉 @cpp_lib
C++23's zip_view
https://www.youtube.com/watch?v=MVXGdwREo_E
#cpp #programming
👉 @cpp_lib
⚡️ Узнайте о фреймворке QT то, чего не знают другие, и станьте более востребованным специалистом
Начните с бесплатного открытого урока «StateMachine в Qt» от OTUS.
На эфире мы познакомимся с концепцией машины состояний, а также узнаем о том, как она реализована в Qt и как можно эффективно ее использовать.
📢📢 Занятие пройдёт 2 ноября в 19:00 мск и будет приурочено к старту курса «Разработка прикладного ПО на Qt и ОС Аврора».
🎫 После урока вы сможете продолжить обучение в рассрочку на комфортных условиях.
➡️ Регистрируйтесь на мероприятие прямо сейчас: https://vk.cc/cs5gdQ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ruПишем свой QTableView с нуля
Итак жил был фреймворк Qt и последние 10 лет ничего почти в нем не менялось. И захотел один чел написать свой QTableView с нужным ему функционалом, а именно захотелось ему выводить ячейки в несколько рядов в одной строке. Ещё ему хотелось растягивать одну из ячеек по ширине двух других и т.д. (ну как в 1С например).
Искал, искал чел готовый пример в интернете и не находил. И вот однажды подумал он посмотреть как сделан внутри сам QTableView и стало плохо ему от количества строк кода, не одна тысяча там.
https://habr.com/ru/articles/761530/
#cpp #programming
👉 @cpp_lib
⚙️ Курс «Введение в реверс-инжиниринг»
Изучите тайны программного обеспечения и познакомьтесь с обратной разработкой на курсе от Академии Кодебай.
Всего за 6 месяцев вы научитесь анализировать исполняемые файлы, понимать их структуру и исследовать вредоносное ПО. Главной темой курса является реверс-инжиниринг программ, написанных на языке ассемблера и Си.
Курс подойдет как новичкам, знающим основы программирования, так и практикующим специалистам.
📆 Старт курса - 6 ноября
🔝 Преимущества: личная поддержка от куратора, более 120 заданий в практической лаборатории, закрытый чат единомышленников и сертификат при успешной сдаче экзамена.
ℹ️ Узнать подробнее о курсе
Реклама. ООО "АКАДЕМИЯ КОДЕБАЙ". ИНН 9706020333. erid: LjN8K2eTZ
Библиотека Ranges в C++20
Благодаря библиотеке ranges работа со стандартной библиотекой шаблонов (STL) стала намного удобнее и мощнее. Прежде всего, алгоритмы библиотеки ranges, могут работать непосредственно на контейнере и могут быть композитными. Кроме того, в библиотеке ranges сделано несколько уникальных конструктивных решений, о которых вы должны знать.
https://www.modernescpp.com/index.php/the-ranges-library-in-c20-design-choices/
#cpp #programming
👉 @cpp_lib
Не так страшна многопоточность, как ее малюют!
🫵 Убедитесь в этом на бесплатном вебинаре «Многопоточность без страха» от OTUS.
Вебинар пройдет 8 ноября в 20:00 по мск.
Вебинар является бесплатной частью полноценного онлайн-курса "Rust Developer. Professional". Курс доступен в рассрочку.
✔️ На вебинаре мы разберём:
- Что такое многопоточность и зачем она нужна
- Какие проблемы возникают при создании многопоточных приложений
- Действия, которые позволяют обеспечить безопасность и консистентность данных в многопоточном приложении
- Как Rust решает эти проблемы на уровне системы типов
- Общие Computer Science концепции и приёмы, которые будут полезны любому разработчику
➡️ Регистрация на вебинар по ссылке: https://vk.cc/cs3V7N
💥 Бонусом после вебинара вы сможете поступить на полноценный онлайн-курс "Rust Developer. Professional" по специальной цене!
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
