cpluspluc | Unsorted

Telegram-канал cpluspluc - C++ Academy

16151

По всем вопросам- @haarrp @itchannels_telegram - 🔥 best it channels РКН: clck.ru/3FmxJF

Subscribe to a channel

C++ Academy

🐦 Flappy Bird на Си: Вес APK < 100 Килобайт! 🚀

В сентябре 2024 года, увидев Flappy Bird на C# в дискорд-канале Raylib, я решил попробовать реализовать эту игру на Си для Android с весом APK менее 100 КБ. 🚀

Идея казалась безумной, но спортивный интерес взял верх. 💪

https://github.com/VadimBoev/FlappyBird

#cpp #programming

Читать полностью…

C++ Academy

#вопросы_с_собеседований
Бывает такое, что оператор new не выделяет память?

Ответ:
Да, бывает, когда new передаётся указатель на уже выделенную память (например, с помощью malloc). Это называется placement new. И оператор new без изменения возвращает второй параметр - указатель (void* operator new(std::size_t, void*)). Это используется для создания объектов в выделенном "хранилище" или после malloc.

Важно! В этом случае деструктор нужно вызывать самостоятельно!

Читать полностью…

C++ Academy

⚡️ Вы слышали про Rust. Знаете, что он быстрый, безопасный и что за ним будущее.

Осталось одно: сесть и выучить.

Этот курс со Stepik- кратчайший путь от «знаю что такое Rust» до «пишу на нём».

6 модулей, 50 уроков, 143 теста. Ownership, borrowing, traits, async, Tokio, Axum, макросы, WASM — всё разложено по полочкам и закреплено практикой.
Никакого видео на 40 минут ради одной мысли. Подробный текст, много кода, реальные задачи после каждого урока. На выходе — портфолио из 10+ проектов: от CLI-утилит до REST API с базой данных.

48 часов действует скидка 55 процентов: stepik.org/course/269250

Читать полностью…

C++ Academy

Алгоритмы - это не только про собеседования

Это способ прокачивать мышление: работать со сложностью, находить неочевидные решения и держать форму. А еще один из шансов попасть на конференцию Day&Night* Городских сервисов Яндекса, которая пройдет 18 апреля в Москве.

Решайте задачу от Миши Левина, руководителя направления машинного обучения Городских сервисов Яндекса, до 12.00 15 апреля.

Решаешь правильно - получаешь шанс попасть на конференцию Day&Night* и выиграть другие призы.

А что будет на конференции?

Доклады про технологии и архитектуру
Реальные кейсы применения ИИ, бэкенда и мобильной разработки в Городских сервисах Яндекса. И живое общение с людьми, которые это все делают в формате камерных клубов.

Попасть можно по классике через заявку. А можно через задачи.

Выбирай свой способ 🙂

*День и Ночь

Читать полностью…

C++ Academy

⚡ C породил всё: как один язык стал отцом C++, Java, Rust, Go, Swift и Zig

Daniel Lemire, эксперт по производительности софта из топ-2% ученых мира (по рейтингу Stanford/Elsevier 2025) и топ-1000 разработчиков на GitHub, опубликовал статью про эволюцию языков программирования семейства C. Разбираем ключевые тезисы.

Всё началось с трех языков: Fortran (1957), Pascal (1970) и C (1972). Fortran создавался для числодробилки и научных расчетов. Pascal намеренно ограничивал низкоуровневый доступ, потому что задумывался как учебный язык для структурного программирования. А вот C победил именно потому, что позволял работать с указателями, прямым доступом к памяти и при этом оставался достаточно универсальным для системной разработки вроде Unix.

В 80-е и 90-е объектно-ориентированное программирование стало чем-то вроде религии. Lemire прямо пишет: это превратилось в секту. Но C не был объектно-ориентированным. Так появился C++, который начинался как «C with Classes». C++ принес шаблоны, обобщенное программирование и метапрограммирование на этапе компиляции. Это сделало язык мощным, но и сложным для освоения (с безумными сообщениями об ошибках).

Показываю как профессионально работать с Claude и другими ИИ у себя в телеге! И зеркало Max, если тг не работает(

C и C++ стали дико успешными, но писать кроссплатформенные приложения было больно. Приходилось целиться в Windows или конкретный Unix. Это было проблемой для Sun Microsystems, которая продавала Unix-машины и хотела конкурировать с Microsoft.

Так в 1995 году появилась Java. Безопасная, портативная альтернатива C++: без арифметики указателей, с обязательной сборкой мусора, проверкой границ массивов и виртуальной машиной (JVM) с JIT-компиляцией для производительности. Обещание «write once, run anywhere» напрямую закрывало боль портируемости C/C++. До сих пор Java остается сильным решением для enterprise и серверного кода.

В том же 1995-м появился JavaScript, который, несмотря на название, семантически почти ничего общего с Java не имеет. Lemire считает, что его лучше рассматривать отдельно от ветки C/C++. Python тоже стоит особняком.

Microsoft в 2000 году выкатила C#. Синтаксически он из того же семейства, что C++ и Java, но с поддержкой AOT-компиляции в современном .NET и возможностью работать с указателями в явно помеченных unsafe-блоках. По сути, C# можно назвать «C++ со сборкой мусора». Он даже конкурирует с C++ в геймдеве благодаря Unity.

Google создал Go как упрощенный современный C: со сборкой мусора, встроенной проверкой границ для слайсов и массивов, с указателями, но без произвольной арифметики в безопасном коде (пакет unsafe существует для низкоуровневых нужд).

Apple ответила Swift. Производительность и цели синтаксиса как у C++, но с современными фичами безопасности (проверка границ по умолчанию, паника при переполнении целых чисел в debug-режиме) и автоматическим подсчетом ссылок (ARC) для управления памятью. Swift заменил Objective-C, но Lemire рассматривает его как наследника C++.

Примерно тогда же появились Rust и Zig. Rust, как и Swift, отказался от поколенческой сборки мусора из Java, C# и Go. Вместо этого он полагается на систему владения и заимствования на этапе компиляции, с компромиссом: через циклические ссылки можно допустить утечку памяти. Zig делает работу с памятью полностью явной.

Интересный тезис Lemire: Rust и Zig правильнее считать потомками C, а не C++. Оба, конечно, намного мощнее C, но по духу они именно C-подобные языки.

Доминирующими языками для перформанс-критичных, системных, enterprise- и инфраструктурных задач до сих пор остаются C, C++, Java и C#. По эффекту Линди (чем дольше что-то существует, тем дольше оно, вероятно, просуществует), эти языки, особенно C, которому уже больше 50 лет, будут с нами еще очень долго.

https://vc.ru/dev/2860450-yazyk-c-i-vliyanie-na-c-java-rust-go-swift-i-zig

Читать полностью…

C++ Academy

Алгоритмы - это не только про собеседования

Это способ прокачивать мышление: работать со сложностью, находить неочевидные решения и держать форму. А еще один из шансов попасть на конференцию Day&Night* Городских сервисов Яндекса, которая пройдет 18 апреля в Москве.

Решайте задачу от Ильи Царева, руководителя разработки Яндекс Go, до 12.00 11 апреля.

Решаешь правильно - получаешь шанс попасть на конференцию Day&Night* и выиграть другие призы.

А что будет на конференции?

Доклады про технологии и архитектуру
Реальные кейсы применения ИИ, бэкенда и мобильной разработки в Городских сервисах Яндекса. И живое общение с людьми, которые это все делают в формате камерных клубов.

Попасть можно по классике через заявку. А можно через задачи.

Выбирай свой способ 🙂

*День и Ночь

Читать полностью…

C++ Academy

📱 C++/Qt/QML разработчик в команду Mobile Android
— делаешь UI и механику приложения
— 20 млн пользователей каждый день
— C++20 + Qt + QML + 3D-карта
— многопоточность и продуктовая разработка

🧠 C++ разработчик в команду алгоритмов Поиска
— разрабатываешь движок поиска 2ГИС
— алгоритмы, структуры данных, архитектура
— влияние на качество поиска для миллионов
— производительность, память, ML-модели

Обе роли:
— удалёнка
— сильные команды
— сложные задачи

👉 Другие инженерные инсайты от 2ГИС → в Telegram-канале RnD

Читать полностью…

C++ Academy

ffead-cpp

ffead-cpp — это веб-фреймворк, фреймворк приложений и набор утилит, объединенные в один пакет. Он также предоставляет встроенное ядро сервера, совместимое с HTTP/HTT2/Web-Socket.

#для_продвинутых

Читать полностью…

C++ Academy

🎲 Высокопроизводительная генерация случайных чисел с Zorro

Zorro - это библиотека для генерации случайных чисел на основе xoshiro256++, поддерживающая автоматическую SIMD-диспетчеризацию. Просто добавьте один заголовочный файл в проект и получите доступ к высокопроизводительным генераторам для различных распределений.

🚀Основные моменты:
- Поддержка uniform, normal, exponential и Bernoulli распределений.
- Автоматический выбор SIMD на этапе компиляции.
- Высокая производительность: до 3900 M/s для uniform генерации.
- Легкая интеграция с существующими проектами через один заголовок.

📌 GitHub: https://github.com/bobjansen/Zorro

Читать полностью…

C++ Academy

libPhenom

libPhenom — это фреймворк событий, разработанный Facebook для создания высокопроизводительных и масштабируемых систем на C++. Он обеспечивает простой и эффективный способ публикации и подписки на события, а также маршрутизации событий между различными компонентами системы.

#для_продвинутых

Читать полностью…

C++ Academy

🚀 GSD 2: Новый уровень автоматизации разработки

GSD 2 — это эволюция инструмента Get Shit Done, превращенная в полноценный CLI-агент. Он управляет процессами разработки, обеспечивая контроль контекста, автоматизацию задач и восстановление после сбоев. С GSD 2 вы можете просто запустить команду и вернуться к готовому проекту с чистой историей git.

🚀 Основные моменты:
- Автоматическое управление задачами с чистым контекстом.
- Восстановление после сбоев и отслеживание затрат.
- Программное управление ветками git и диагностика зависаний.
- Интеграция с Pi SDK для прямого доступа к агенту.
- Упрощенная миграция из предыдущей версии.

📌 GitHub: https://github.com/gsd-build/gsd-2

#typescript

Читать полностью…

C++ Academy

🌟 Быстрая библиотека JSON: Glaze

Glaze — это одна из самых быстрых библиотек для работы с JSON и другими форматами, обеспечивающая высокую производительность и простоту интерфейса. Она поддерживает множество форматов, включая JSON, CBOR, YAML и другие, с акцентом на компиляцию времени и рефлексию.

🚀Основные моменты:
- Поддержка C++23 и C++26 с рефлексией для удобной работы с данными
- Высокая производительность: быстрая сериализация и десериализация
- Заголовочная библиотека без зависимости от RTTI и исключений
- Совместимость с современными компиляторами и стандартами

📌 GitHub: https://github.com/stephenberry/glaze

#cpp

Читать полностью…

C++ Academy

🌍🚀 Эффективная библиотека для работы с часовыми поясами

vtz предлагает высокую производительность и простой API для обработки временных данных. Она значительно быстрее конкурентов, обеспечивая до 60 раз более быстрые преобразования часовых поясов и парсинг временных меток, что делает её идеальным выбором для приложений с высокими требованиями к скорости и масштабируемости.

🚀Основные моменты:
- 30-60x быстрее преобразования часовых поясов.
- Эффективный алгоритм с блочной таблицей для быстрого поиска.
- Совместимость с std::chrono::time_zone.
- Оптимизирована для работы с большими объемами данных.

📌 GitHub: https://github.com/voladynamics/vtz

#cpp

Читать полностью…

C++ Academy

> Linux — на C
> Git — на C
> интерпретатор Python (CPython) — на C
> интерпретатор Ruby (MRI) — на C
> PostgreSQL — на C
> SQLite — на C
> Redis — на C
> GTA 5 — на C++
> MySQL — на C++
> MongoDB — на C++
> Unreal Engine — на C++
> Chrome — на C++
> Firefox — на C++
> ядро Windows — на C
> ядро macOS (XNU) — на C
> Photoshop — на C++
> VMware — на C++
> TensorFlow (ядро) — на C++

• Всё ещё не уверен нужно ли учить C и C++?

Читать полностью…

C++ Academy

🧩 Легкий IoC контейнер для C++17

Genode.IoC — это компактный и простой в использовании контейнер внедрения зависимостей для C++17. Он не требует базовых классов или интерфейсов, что делает его идеальным для легковесных проектов. Автоматическое создание объектов и управление временем жизни упрощают интеграцию.

🚀 Основные моменты:
- Одно заголовочное файл.
- Автоматическое разрешение зависимостей.
- Минимальная конфигурация и управление временем жизни.
- Поддержка синглтонов и локальных экземпляров.
- Легкая интеграция в проекты.

📌 GitHub: https://github.com/SirusDoma/Genode.IoC

#cpp

Читать полностью…

C++ Academy

Своя виртуальная машина на C за 200 строк⁠⁠

Каждый раз, когда мы запускаем inference LLM, мы на самом деле гоняем программу в виртуальной машине. PyTorch крутит граф вычислений, llama.cpp интерпретирует GGUF, vLLM гоняет свой движок поверх CUDA. Мы живём в мире абстракций настолько глубоких, что уже забыли, как это всё работает на уровне байтов.

Ребята, рекомендую статью от Scarlett. Она показывает, как написать полноценную виртуальную машину на чистом C меньше чем за 200 строк. Без фреймворков, без зависимостей, без магии. Только память, регистры и опкоды. И это самая освежающая вещь, которую я читал на этой неделе.

Почему AI-специалисту стоит уделить этому вечер. Мы постоянно работаем с абстракциями поверх абстракций. Python вызывает CUDA-ядра, которые транслируются в PTX, который превращается в SASS, который исполняется на SM. Когда что-то падает с out of memory или внезапно становится в десять раз медленнее, мы открываем Nsight и видим непонятные буквы. Понимание того, как вообще работает машина, отдельная суперсила, которая окупается на каждом продакшен-инциденте.

Если кратко, что там внутри. Автор строит VM по образу LC-3, это учебная архитектура фон-Неймана. 65 536 ячеек памяти по 16 бит, 10 регистров, включая программный счётчик и регистр условных флагов. Вся инструкция это 16 бит, где первые 4 бита опкод, остальные параметры. Поддерживается 14 команд: арифметика, загрузка и сохранение памяти, переходы, вызовы подпрограмм и trap для ввода-вывода.

Самое интересное это цикл fetch decode execute. Три строки кода. Читаем инструкцию по адресу из RPC, увеличиваем RPC, вызываем обработчик по индексу опкода из таблицы указателей на функции. Всё. Вот так работает любой процессор в мире, только сложнее и с миллиардами транзисторов. Когда вы понимаете это на уровне C, архитектурные особенности Transformer runtime перестают казаться чёрной магией.

Ещё из приятного. Есть подробный разбор битовых полей инструкций, объяснение sign extension, работа с условными флагами N, Z, P и аккуратная реализация trap-таблицы через массив указателей на функции вместо гигантского switch. Этот приём напрямую переиспользуется, когда вы пишете свой интерпретатор графа или custom kernel dispatcher.

Что из этого вытаскивает AI-инженер. Во-первых, интуицию по поводу того, как устроен любой runtime, от TensorRT до ONNX. Во-вторых, понимание, почему arena-аллокаторы и заранее выделенная память бьют malloc в цикле. В-третьих, это лучший антидот от выученной беспомощности на фоне LLM-ассистентов. Пока Cursor пишет вам код на TypeScript, вы садитесь и руками собираете VM на C, которая исполняет машинный код. Мозг перезагружается, руки помнят, что такое настоящая инженерия.

Совет. Не просто читайте. Откройте файл, начните с main memory и регистров, добавляйте по одной инструкции. Сверяйтесь с постом, когда застряли. К концу вечера у вас будет рабочая VM, в которую можно загрузить свой собственный hex-файл и выполнить сложение двух чисел с клавиатуры. Это тот самый момент, ради которого мы когда-то пошли в инженерию.

Источник и полный разбор: https://x.com/Zyara_1ot/status/2045916052559900725

Читать полностью…

C++ Academy

Веселье с type erasure: делаем обертку с семантикой значения для полиморфных типов
Павел Новиков

Цель доклада — познакомить с подноготной базовой реализации type erasure (т.н. «стирание типов») в C++, а также придать уверенности при возможном взаимодействии с подобным кодом.

Используя реализацию обертки с семантикой значения в качестве примера, мы посмотрели на то, как работает type erasure, похожий на std::any.

В отличие от повсеместно используемой семантики указателя или ссылки, в данном случае обертка с семантикой значения позволяет нам обращаться с полиморфными объектами со «стертыми типами» как с обычными значениями: перемещать их, копировать, присваивать новые значения, при этом всей головной болью владения (ownership) и клонирования объекта исходного типа займётся реализация «за кулисами».

источник

#cpp #programming

Читать полностью…

C++ Academy

DOOM ЧЕРЕЗ CURL. ДА, ПРОСТО HTTP ЗАПРОС

Разработчик запустил Doom прямо в терминале без установки и GUI.

Работает через обычный curl. Под капотом сервер стримит кадры игры как ANSI-графику, а ввод с клавиатуры уходит обратно по тому же соединению.

По сути это полноценная игра поверх HTTP, без клиента, без зависимостей. Только bash и сеть.

Сюрреализм в том, что это не демка, а реально играбельная штука.

Хочешь попробовать - открываешь терминал и играешь.

https://github.com/xsawyerx/curl-doom

Читать полностью…

C++ Academy

🧩 C++ обертка для PCRE2

pcre2cpp - это объектно-ориентированная обертка для библиотеки PCRE2, обеспечивающая удобный интерфейс для работы с регулярными выражениями. Поддерживает C++17 и C++20, упрощая процесс сопоставления и захвата результатов.

🚀 Основные моменты:
- Объектно-ориентированный интерфейс для PCRE2 10.47
- Совместимость с C++17 и C++20
- Удобное сопоставление регулярных выражений
- Встроенное захватывание результатов

📌 GitHub: https://github.com/MAIPA01/pcre2cpp

#cpp

Читать полностью…

C++ Academy

oneDNN

oneDNN — это высокопроизводительная библиотека с открытым исходным кодом, предназначенная для оптимизации машинного обучения и приложений глубокого обучения.

https://github.com/oneapi-src/oneDNN

Читать полностью…

C++ Academy

Data-Parallel Types: алгоритмы (C++26)

Библиотека «data-parallel types» для SIMD-векторов (пространство имён std::experimental, алиас stdx) предоставляет четыре специальных алгоритма: `min, max, minmax и clamp.

min, max, minmax

- min(a, b) и max(a, b) принимают два SIMD-вектора и возвращают вектор покомпонентных минимумов/максимумов.
- minmax(a, b) возвращает пару SIMD-векторов: первый — покомпонентные минимумы, второй — максимумы.
- Автор отмечает, что строка stdx::minmax(a, b) у него не компилировалась ни в GCC, ни в Clang (на момент публикации).

clamp

- stdx::clamp(v, lo, hi) применяет std::clamp к каждому элементу SIMD-вектора: значения ниже lo поднимаются до нижней границы, выше hi — опускаются до верхней.
- Показаны два примера: ограничение к диапазону INT8_MIN..INT8_MAX и к 0..UINT8_MAX; на выводах видно, как выходящие за пределы элементы прижимаются к границам.

Итог

- Для SIMD-векторов доступны привычные «минимумы/максимумы» и покомпонентный clamp.
- minmax задуман как удобный возврат пары (min/max), но в текущих компиляторах может не собираться.
- Дальше автор планирует разбирать новые возможности C++26 (в частности, контракты).

https://www.modernescpp.com/index.php/data-parallel-types-algorithms/

#cpp #programming

Читать полностью…

C++ Academy

⚡️ Хочешь собрать GPU с нуля - вот настоящий появился симулятор Mvidia

Нашли для вас сайт, где можно пройти весь путь железа руками. Без теории ради теории, а через интерактив.

• Начинаешь с базы
движение электронов, транзисторы, логика

• Дальше собираешь уровни выше
логические схемы, ALU, простой процессор

• До GPU ещё не дошли
блоки про шейдеры и графику пока в разработке, но фундамент уже есть

На Hacker News проект активно хвалят, особенно за подачу и понятную прогрессию

Хороший способ наконец понять, как всё это реально устроено под капотом, а не на уровне абстракций

Сначала проходишь симулятор потом уже думаешь, как построить Nvidia 2.0

https://jaso1024.com/mvidia/

Читать полностью…

C++ Academy

Компилятор для языка Си, написанный на Shell

Александр Гомес Гайгалас (Alexandre Gomes Gaigalas), автор библиотеки coral для создания переносимых shell-скриптов, опубликовал C89cc.sh, компилятор для языка Си, написанный целиком на Shell. Компилятор поддерживает стандарт C89 и может генерировать исполняемые файлы в формате ELF64 для систем x86-64. Код содержит около восьми тысяч строк и открыт под лицензией ISC.

Подробнее:
https://opennet.ru/65133/
https://opennet.me/65133/

Читать полностью…

C++ Academy

Яндекс ищет начинающих и опытных разработчиков

Работать в Яндексе — это синтезировать науку и бизнес, создавать полезные продукты для миллионов пользователей. Участвуйте в Week Offer Backend* и получите офер за неделю.

Сейчас нам нужны:

🟢Бэкенд-разработчики с опытом на C++, Python, Java/Kotlin, Go** от 4 лет.

🟢Стажёры-разработчики, с базой по алгоритмам и структурам данных, навыком кодинга на C++, Python, Java/Kotlin, Go**.

Участвуйте в быстром наймовом мероприятии, чтобы пройти все собеседования и получить офер или приглашение на оплачиваемую стажировку.

Даты мероприятия:

🟢 11–17 апреля — для опытных бэкендеров.
🟢 13–17 апреля — для стажёров.

🔶 Все этапы проходят онлайн. Подробности и регистрация — по ссылке: https://yandex.ru/project/events/wo_backend_0426

Читать полностью…

C++ Academy

Нужны твои навыки в работе с ИИ на МТС True Tech Hack 2026!

Тебе сюда, если ты инженер данных, разработчик или системный аналитик. 1 500 000 рублей — общий призовой фонд ИТ-соревнования.

Формат: командное онлайн-соревнование с финалом в Москве. Если нет команды — поможем найти на платформе мероприятия.

Тебя ждут три задачи на выбор — каждая с уникальной технической фишкой.

Для всех финалистов — приглашение на закрытую вечеринку, а лучших участников позовут на стажировку.

Успей зарегистрироваться до 9 апреля

Читать полностью…

C++ Academy

Как за 2 года стать разработчиком, за которого конкурируют компании?

⚡️ 8 апреля ИТМО в партнёрстве с Яндекс Практикумом проведут День открытых дверей онлайн-магистратуры «Фронтенд- и бэкенд-разработка».

Поговорим про фронтенд и бэкенд, разницу между ними и уровень знаний на старте. Обсудим, какие навыки нужны для поступления, как магистратура помогает быстрее выйти на рынок — и быть на нём конкурентоспособным.

Отдельно разберём сценарии для тех, кто уже работает в IT: как сменить стек, углубиться в текущий или перейти в новые направления, включая работу с ИИ.

На встрече обсудим:
— какой трек выбрать и как выстроить карьеру в разработке
— какую роль играет ИИ в программировании
— как устроена программа и чему вы научитесь
— как проходит обучение и как его совмещать с работой
— как поступить: вступительные испытания и ключевые даты


Подключайтесь онлайн 8 апреля в 19:00 мск.

→ Зарегистрироваться на ДОД

Читать полностью…

C++ Academy

🏙️ Бэкэнд масштаба города: идём на Day&Night* 2026

Обсудим миллионные нагрузки, сложную архитектуру Яндекса и код, который ежесекундно воплощается в реальном мире: поездки такси, доставка продуктов и заказов.

Будут доклады Саши Аникина про роботакси и Кирилла Неймана про облачные интеграции электрокара.

Программу конференции и клубов готовили Илья Царёв — руководитель разработки в Яндекс Go, Стёпа Мороз — руководитель разработки в Яндекс Доставке и Женя Косенко — руководитель технических проектов в Техплатформе Городских сервисов Яндекса.

Поговорим про:
🔹 Инфраструктуру, платформы и инструменты разработки
🔹 Архитектуру бигтеха и роль ИИ-агентов

А ещё можно пообщаться с единомышленниками в клубах музыки и винила и активного образа жизни.

🍸 Завершит всё вечеринка с диджеями и коктейлями.

🚀 Регистрация открыта — успейте подать заявку!

Все заявки проходят модерацию, дождитесь обратной связи.
*День и Ночь

Читать полностью…

C++ Academy

🚀 Высокопроизводительная библиотека интернирования строк на C++

Azrar::StringIndex предлагает эффективный механизм интернирования строк, создавая глобальный словарь уникальных строк. Это значительно ускоряет доступ и сравнение строк, что особенно полезно в приложениях с большим количеством идентичных строк.

🚀 Основные моменты:
- Уменьшает использование памяти за счет хранения строк только один раз.
- Обеспечивает быстрый доступ к строкам через индексы.
- Поддерживает многопоточность для повышения производительности.
- Идеально подходит для приложений, работающих с большими объемами строк.

📌 GitHub: https://github.com/kboutora/Azrar

#cpp

Читать полностью…

C++ Academy

🔥 Полезная подборка каналов только код, практика и самые передовые инструменты, которые используют разработчики прямо сейчас.👇

🖥 ИИ: t.me/ai_machinelearning_big_data

🖥 Python: t.me/pythonl

🖥 Linux: t.me/linuxacademiya

🖥 C++ t.me/cpluspluc

🖥 Docker: t.me/DevopsDocker

🖥 Хакинг: t.me/linuxkalii

🖥 Devops: t.me/DevOPSitsec

👣 Golang: t.me/Golang_google

🖥 Аналитика: t.me/data_analysis_ml

🖥 Javascript: t.me/javascriptv

🖥 C#: t.me/csharp_ci

🖥 Java: t.me/javatg

🖥 Базы данных: t.me/sqlhub

👣 Rust: t.me/rust_code

🤖 Технологии: t.me/vistehno

💰 Экономика и инвестиции в ИИ t.me/financeStable

💼 Актуальные вакансии: t.me/addlist/_zyy_jQ_QUsyM2Vi


🖥Подборка по Golang: /channel/addlist/MUtJEeJSxeY2YTFi
⚡️ Лучшие ИИ ресурсы: /channel/addlist/2Ls-snqEeytkMDgy

Max ИИ: https://max.ru/ai_machinelearning_big_data
Max Ml: https://max.ru/vistehno
Max python: https://max.ru/pythonl
Max Go: https://max.ru/Golang_google
Max Linux: https://max.ru/linuxkalii
Max Java: https://max.ru/javatg
Max Sql: https://max.ru/sqlhub
Max Devops: https://max.ru/DevOPSitsec
Анализ данных: https://max.ru/data_analysis_ml
C++ : https://max.ru/cpluspluc
C#: https://max.ru/csharp_ci

🖥 Chatgpt бот в тг: t.me/Chatgpturbobot
📚 Бесплатные ит-книги: /channel/addlist/HwywK4fErd8wYzQy

Читать полностью…

C++ Academy

🧩 Упрощенная сериализация в C++ по контракту

SerializationByContract предлагает инновационный подход к сериализации и десериализации данных, используя контракты для автоматизации процессов. Вместо создания отдельных функций для сериализации и десериализации, вы определяете контракт, который управляет всем процессом.

🚀 Основные моменты:
- Автоматизация сериализации и десериализации через контракты.
- Поддержка большинства STL структур данных.
- Применение в межпроцессном взаимодействии (IPC).
- Простота интеграции пользовательских структур данных.

📌 GitHub: https://github.com/amarmer/SerializationByContract

#cpp

Читать полностью…
Subscribe to a channel