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

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

Open in Telegram

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

Show more
7 322
Subscribers
+524 hours
+67 days
+1230 days
Posts Archive
+7
Лекции С++ продвинутый поток ФПМИ 2023-24 Лекция 1. Введение в язык C++. Основные типы и операции над ними Лекция 2. Основные команды в терминале. Компиляция программ Лекция 3. Объявления и определения, области видимости, пространства имен Лекция 4. Выражения и операторы. Управляющие конструкции Лекция 5. Compile-time errors, runtime errors, undefined behavior Лекция 6. Указатели Лекция 7. Стековая, статическая и динамическая память Лекция 8. Массивы, функции и указатели на функции источник 📲 Мы в MAX #cpp #programming 👉 @cpp_lib

15 декабря в Москве и онлайн пройдёт встреча РГ21 С++ для практикующих разработчиков и энтузиастов языка Участников ждет разг
15 декабря в Москве и онлайн пройдёт встреча РГ21 С++ для практикующих разработчиков и энтузиастов языка Участников ждет разговор о будущем С++, свежие новости и ответы на вопросы о стандартизации языка. В программе: 🔸 Новости со встречи международного Комитета по стандартизации языка C++. Антон Полухин, руководитель группы разработки общих компонентов в Техплатформе Городских сервисов Яндекса, разберёт прогресс в работе над С++26 с рефлексией, расскажет про контракты и комментарии к стандарту от России. 🔸 Ответы на вопросы о практическом участии в разработке. Обсудим, как российским разработчикам можно напрямую участвовать в развитии стандарта языка. 🔸 Неформальный нетворкинг. После основной программы обмениваемся мнениями и общаемся с коллегами. Регистрация на встречу уже открыта.

+9
Метапрограммирование 1. Введение в шаблоны 2. C++20: requires keyword 3. C++20: concepts 4. Operator spaceship 5. ADL и CRTP 6 (семинар). Typelist 7. Traits, Policy Based Design, Mixins 8. Полиморфизм 9 (семинар). Реализация std::function 10 (семинар). Реализация std::any без виртуальных функций источник 📲 Мы в MAX #cpp #programming 👉 @cpp_lib

🧑🏻‍💻Асинхронность в C++ всегда была испытанием на зрелость. Потоки, мьютексы, коллбеки — и тысячи строк кода, чтобы просто
🧑🏻‍💻Асинхронность в C++ всегда была испытанием на зрелость. Потоки, мьютексы, коллбеки — и тысячи строк кода, чтобы просто дождаться результата. Но в C++20 всё изменилось: корутины убирают боль ручного управления потоками. На открытом уроке разберём, как работает новая модель асинхронности в C++: без громоздких конструкций и перегрузок по CPU. Вы поймёте, как устроены корутины, где их применять и почему они стали стандартом в C++20 и C++23. На практике создадим корутины-генераторы и обсудим их преимущества перед классическими потоками. Если вы уже чувствуете, что ваш C++ проект тонет в callback hell или не масштабируется под нагрузкой — этот вебинар поможет понять, как писать современный, чистый и асинхронный код. 🔥11 декабря в 20:00 МСК. Открытый урок проходит в преддверии старта курса «C++ Developer. Professional». Присоединяйтесь и узнайте, как сделать асинхронность естественной частью вашего кода: https://vk.cc/cS9XVO Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

+9
Базовый курс C++ (MIPT, ILab) Lecture 1. Scent of C++. Lecture 2. Указатели и ссылки Lecture 3. Имена и сущности Lecture 4. Инициализация и копирование. Lecture 5. RAII и перемещение Lecture 6. Приведение типов Lecture 7. Перегрузка операторов Lecture 8. Наследование и полиморфизм Lecture 9. Множественное наследование Lecture 10. Языки и грамматики источник 📲 Мы в MAX #cpp #programming 👉 @cpp_lib

+9
Метапрограммирование 1. Введение в шаблоны 2. C++20: requires keyword 3. C++20: concepts 4. Operator spaceship 5. ADL и CRTP 6 (семинар). Typelist 7. Traits, Policy Based Design, Mixins 8. Полиморфизм 9 (семинар). Реализация std::function 10 (семинар). Реализация std::any без виртуальных функций источник 📲 Мы в MAX #cpp #programming 👉 @cpp_lib

👨‍💻Ошибки в памяти, утечки, неопределённое поведение — всё это неизбежная часть разработки на C++. Даже опытные инженеры по
👨‍💻Ошибки в памяти, утечки, неопределённое поведение — всё это неизбежная часть разработки на C++. Даже опытные инженеры порой тратят часы на поиск невидимых дефектов, которые ломают логику программы. Но есть инструменты, которые позволяют ловить такие баги ещё до того, как они попадут в прод. На открытом уроке 9 декабря в 20:00 мск мы подробно разберём санитайзеры — инструменты, которые показывают, где и почему программа ведёт себя неправильно. Вы поймёте, как использовать их в реальных проектах, какие типы ошибок они находят и где проходят границы применимости. Это полезно всем, кто пишет на C++. Санитайзеры — минимальный набор безопасности, который помогает не только отлавливать критические ошибки, но и формировать инженерную культуру «чистого» кода. Вы увидите, как всего одно включение инструмента даёт прозрачность, на которую обычно уходят недели отладки. 🚀Присоединяйтесь к открытому уроку в преддверие старта курса «C++ Developer»: https://vk.cc/cRZJeG Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Улучшенные версии STL-контейнеров из библиотеки Boost Илья Мещерин В любом учебном курсе по C++, даже начального уровня, обязательно изучают, как устроен std::vector. Детали внутреннего устройства std::vector в подробностях продолжают изучать в вузах, спрашивать на собеседованиях, обсуждать на конференциях. То же самое происходит с контейнерами std::list, std::deque, std::map и std::unordered_map: про их реализацию и особенности внутреннего устройства можно говорить бесконечно долго, про них все еще делают доклады, снимают лекции и пишут статьи. И их продолжают использовать в продакшен-коде даже в самых крупных и известных компаниях. При этом в библиотеке Boost давным-давно есть альтернативные версии контейнеров, которые выигрывают у стандартных по многим показателям. Однако об этих версиях почти никто не знает, о них почти нет лекций, статей и докладов. Пора положить этому конец и разобраться в том, как еще могут быть устроены контейнеры, помимо тех версий из STL, о которых и так все знают. Спикер обсудил внутреннее устройство не таких уж стандартных контейнеров: stable_vector, devector, bimap, circular_buffer, а также интрузивных версий list, map, unordered_map и их разновидностей. источник 📲 Мы в MAX #cpp #programming 👉 @cpp_lib

Плывущий экран. Вирус на C++. Melting Screen Программа предоставлена в образовательных целях! Автор не несёт ответственности за её использование! В этом видео вы узнаете как написать вирус на с++ который заставляет экран сыпаться и плыть. источник 📲 Мы в MAX #cpp #programming 👉 @cpp_lib

🔥OS DevConf 25 powered by GigaChat — конференция про разработку системного ПО, ядра Linux и open source. Один день, 500 учас
🔥OS DevConf 25 powered by GigaChat — конференция про разработку системного ПО, ядра Linux и open source. Один день, 500 участников, 30+ докладов, 3 трека — концентрат практического опыта, знаний и инструментов, готовых к внедрению сразу по возвращению в офис. И, конечно, мега-возможности для нетворкинга с коллегами и экспертами сообщества! Что будем обсуждать? -Инструменты и примеры отладки, виртуализации, оптимизации производительности -Практический опыт оптимизации сетевых решений с DPDK -Эффективные методы безопасной разработки ядра Linux -Реальные кейсы создания драйверов на Rust -Все про GPU, NPU, ASIC и как запускать AI на железе под Linux и не только. Как AI встраивается в современную разработку -Современные подходы к разработке системного и embedded ПО Участие бесплатное, но количество мест ограничено — зарегистрируйтесь прямо сейчас 💻 #реклама О рекламодателе

Алгоритмы манипуляций с битами В статье приведены алгоритмы обработки коротких битовых строк, обычно вмещающихся в машинное с
Алгоритмы манипуляций с битами В статье приведены алгоритмы обработки коротких битовых строк, обычно вмещающихся в машинное слово, в большей степени эти алгоритмы предназначены для обработки строк длины 32 или 64, но многие из них можно применять для SIMD инструкций или даже GPU. https://habr.com/ru/articles/886182/ 📲 Мы в MAX #cpp #programming 👉 @cpp_lib

Все секреты и лайфхаки по работе со строками — на втором вебинаре по оптимизации игр от PVS-Studio ❤️ Приглашённые эксперты и
Все секреты и лайфхаки по работе со строками — на втором вебинаре по оптимизации игр от PVS-Studio ❤️ Приглашённые эксперты из gamedev-индустрии поделятся удачными (и не очень) историями развития собственных решений. А ещё: 🔵 расскажут о пулах строк и способах экономии памяти; 🔵 разберут, как ускорить поиск подстроки в строке и почему одна реализация может быть быстрее другой. Вас ждут доклады: 🔵 «String interning и все, все, все» от Сергея Кушниренко, Senior Software Engineer в команде Age of Empires 2 (студия Forgotten Empires); 🔵 «Векторизованный поиск подстроки в строке» от Дениса Ярошевского, Performance engineer, условно активный член C++ сообщества, один из разработчиков библиотеки для векторизации EVE; 🔵 «std::string – путешествие туда и обратно» от Андрея Карпова, сооснователя PVS-Studio и автора Telegram-канала «Бестиарий программирования». 🗓 4 декабря, 15:00 Присоединяйтесь по ССЫЛКЕ.

Game++. Building arcs Прежде чем рассказать про архитектуры игровых движков, я подумал, что будет полезно немного рассказать
Game++. Building arcs Прежде чем рассказать про архитектуры игровых движков, я подумал, что будет полезно немного рассказать о том, как я понимаю архитектуру ПО и как это связано с играми. Во-первых они (архитектуры) есть, чтобы бы там не врали про игрострой. Во-вторых их оказывается больше одной. Это, возможно, поможет вам понять, почему остальные статьи написаны в таком порядке, или без какого-то порядка. В худшем случае, когда вас втянут в спор о том, насколько отвратительны (или, наоборот, потрясающе гениальны) отдельные игровые движки и их архитектуры, у вас будет пара аргументов и понимание что к чему. Символично, что статья про архитектуру игрового движка появилась после того, как было рассказано про строки, мультипоток, применение алгоритмов: просто оно так и в жизни получается, мы сначала пишем код, редактор, игру - костяк проекта обрастает мясом, и тут нас догоняют проблемы, на которые все забивали, потому что надо было выдать хоть что-то похожее на работающий вариант. Но от того, что мы забивали на проблемы и заметали их под коврик беклога, проблемами быть они не перестали. Вы не получите из статьи знаний об аллокаторах, контейнерах, или математике, стоящей за физикой игры. Так же я не ставлю целью научить вас, как применять A* разбиение в поиске пути неписей или моделировать реверберацию комнаты. Вместо этого есть размышления о коде между всем этим. И даже не столько про написание кода, сколько о его организации. https://habr.com/ru/articles/885780/ 📲 Мы в MAX #cpp #programming 👉 @cpp_lib

Botan — это мощная криптографическая библиотека на C++, поддерживающая широкий спектр алгоритмов и предназначенная для исполь
Botan — это мощная криптографическая библиотека на C++, поддерживающая широкий спектр алгоритмов и предназначенная для использования в различных проектах. Она отличается модульной архитектурой, хорошей производительностью и кроссплатформенностью. Основные возможности: 🔹 Поддержка симметричных и асимметричных алгоритмов шифрования 🔹 Генерация и управление ключами 🔹 Хеш-функции и HMAC 🔹 Поддержка TLS и сертификатов X.509 🔹 Стандартизованные и экспериментальные криптографические примитивы Библиотека активно развивается и используется в различных областях, включая безопасность сетевых соединений, шифрование данных и аутентификацию. https://github.com/randombit/botan 📲 Мы в MAX #cpp #programming 👉 @cpp_lib

📌 Многие разработчики уверены, что проблема в алгоритме. Но на практике код «тормозит» чаще из-за того, как он работает с па
📌 Многие разработчики уверены, что проблема в алгоритме. Но на практике код «тормозит» чаще из-за того, как он работает с памятью. На открытом уроке 25 ноября в 19:00 мы разберём, почему два одинаковых на вид фрагмента кода в C++ могут показывать кардинально разную производительность. Поговорим о том, как устроены уровни памяти, какие паттерны доступа ускоряют программу в разы и как формируется та самая «интуиция» эффективного инженера. Вы увидите на практических примерах, как принципы оптимизации, привычные для работы с HDD, прекрасно масштабируются до SSD и оперативной памяти. Это знания, которые повышают ценность любого C++ разработчика — от начинающего до уверенного middle. ⚡️Оставьте заявку и присоединяйтесь к открытому уроку в преддверие старта курса «C++ Developer»: https://vk.cc/cRBJld Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

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

🚀Это отличный ресурс для программистов, работающих с C++. Можно найти подробную документацию по стандартной библиотеке, STL,
+1
🚀Это отличный ресурс для программистов, работающих с C++. Можно найти подробную документацию по стандартной библиотеке, STL, различным версиям стандарта C++, а также примеры кода и объяснения по ключевым аспектам языка. Справочник по C++ C++11, C++14, C++17, C++20, C++23, C++26 │ Поддержка компиляторами C++11, C++14, C++17, C++20, C++23, C++26 Справочник по языку C C89, C95, C99, C11, C17, C23 │ Поддержка компиляторами C99, C23 https://ru.cppreference.com/w/ 📲 Мы в MAX #cpp #programming 👉 @cpp_lib

⚡️C++ давно вышел за рамки системного программирования — сегодня на нём создают визуальные приложения, графику и полноценные
⚡️C++ давно вышел за рамки системного программирования — сегодня на нём создают визуальные приложения, графику и полноценные пользовательские интерфейсы. Если вы когда-нибудь задумывались, как работают кнопки, чекбоксы и окна — этот урок для вас. На открытом вебинаре разберём, как создавать собственные элементы интерфейса на чистом C++ — без громоздких фреймворков и магии “за кулисами”. Вы научитесь обрабатывать события мыши и клавиатуры, отрисовывать элементы, управлять объектами и проектировать реакцию интерфейса на действия пользователя. Урок будет полезен тем, кто хочет глубже понять, как работает графика “под капотом”, и добавить в свои проекты реальный интерактив. Вы получите понимание принципов низкоуровневого UI, навыки работы с графикой и возможность создавать собственные визуальные приложения. 👉27 ноября в 20:00 МСК. Открытый вебинар проходит в преддверии старта курса «C++ Developer. Professional». Регистрация открыта: https://vk.cc/cRv0L4 Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Сборка C++ проектов. Пакетный менеджер CONAN. Game Engine серии 0:00:00 - Введение 0:02:43 - Conan. Теория 0:07:31 - Conan. Установка 0:10:44 - Conan. Базовая настройка 0:17:04 - ConanCenter. JSON 0:34:46 - GTest 0:54:43 - Chuck Norris API, cpr 1:15:19 - Автоматизация сборок источник 📲 Мы в MAX #cpp #programming 👉 @cpp_lib

Создаем эмулятор Sega Mega Drive на C++ В этой статье описано создание эмулятора 16-битной приставки Sega Mega Drive на C++.
Создаем эмулятор Sega Mega Drive на C++ В этой статье описано создание эмулятора 16-битной приставки Sega Mega Drive на C++. Будет много интересного: эмуляция процессора Motorola 68000, реверсинг игр, графика на OpenGL, шейдеры, и многое другое. И все это на современном C++. В статье много картинок, можно хоть на них посмотреть. https://habr.com/ru/articles/871284/ 📲 Мы в MAX #cpp #programming 👉 @cpp_lib