Привет! Меня зовут Владислав, я разрабатываю компиляторы в YADRO. В этой статье я расскажу вам про алиасинг памяти в C++: как он развивался, к чему пришел сейчас и что комитет по стандартизации языка думает делать с алиасингом в будущем. По пути я немного затрону алиасинг в других языках, рассмотрю связанные случаи undefined behavior, а также пропозалы C++, которые, как ожидалось, проблемы с алиасингом решат.
Рубрика «c++»
Алиасинг памяти в C++: прошлое, настоящее, будущее
2026-06-10 в 12:42, admin, рубрики: C, c++, undefined behaviour, алиасинг, Компиляторы, производительностьИтеративное декодирование LDPC-турбо, полярные коды — разбираем на C++ и сравниваем с MATLAB
2026-06-05 в 7:42, admin, рубрики: BCJR, belief propagation, BER, c++, ldpc, Matlab, полярные коды, помехоустойчивое кодированиеКогда моделируешь помехоустойчивые коды, декодер обычно остаётся чёрным ящиком: пишешь ldpcDecode(llr, cfg, 30), comm.TurboDecoder или dvbs2ldpc(1/2) — и получаешь красивый «водопад» BER, не заглядывая внутрь. А самое интересное в современных кодах именно там: не в том, как закодировать, а в том, как декодер из зашумлённого сигнала достаёт правильные биты.
Основы информатики для всех
2026-06-04 в 19:46, admin, рубрики: c++, Алгоритмы, визуализация алгоритмов, графы, дискретная математика, комбинаторика, образование, обучение программированию, основы информатики, системы счисленияВсем привет, я сделал обучающую платформу shlyk.techЧитать полностью »
Эволюция Telegram‑бота на C++: от «лапши» в main() до ООП, in‑memory кэша и мутов по Фибоначчи
2026-05-26 в 11:16, admin, рубрики: c++, C++20, open source, sqlite, telegram, кэширование, модерирование, рефакторингПривет!
В этой статье я расскажу об эволюции моего проекта — GroupModerBot, бота для модерации Telegram‑групп. Я покажу, как проект прошел путь от первой версии «всё в одном файле» до продуманной архитектуры с ООП, in‑memory кэшированием, безопасным выполнением команд и нестандартными алгоритмами наказаний пользователей.
Предыстория
Читая разные C++-кодовые базы, можно заметить хаос в code style'ах. Qt использует к camelCase, стандартная библиотека и Boost используют snake_case, где-то любят PascalCase. Дополнительно хочу отметить нейминг приватных членов класса. Есть несколько часто встречающихся стилей:
_member // Подозрительно!
m_member
member_
Но у C++ в этом плане есть пара подводных мин. Некоторые имена зарезервированы стандартом для реализации: компилятора, стандартной библиотеки, рантайма и прочих приколов.
Что говорит стандарт
В разделе [lex.name] (пункты 4.1 — 4.2) черновика стандарта C++ указано, Читать полностью »
Архитектурные компромиссы в разработке игр
2026-05-21 в 19:38, admin, рубрики: c++, Игры и игровые консоли, ненормальное программирование, Программирование, разработка игрC++: Как мы докатились до Hello World в 2 МБ
2026-05-08 в 20:17, admin, рубрики: c++, gcc, Деконструкция, низкоуровневое программирование, оптимизация кода, оптимизация программ, примеры кода, сравнение версий, сравнение компиляторовЧто не так с Hello World?
Казалось бы, современный С++ дает столько возможностей… Давайте попробуем начать постигать всю эту необъятную мощь с написания Hello World:
#include <iostream>
int main(){ std::cout << "Hello World" << std::endl; }
Какой там сейчас последний компилятор… Давайте возьмем какой-нибудь GCC 15.2.0, запускаем компиляцию g++ -static -O2 hello.cpp -o hello.exe и… получили 2,30 МБ.
Что же пошло не так? Почему для отображения 11 символов понадобилось раздуть бинарник до >2МБ? Давайте разбираться.
Флаги компилятора?
Shine — C++ Фреймворк для десктоп приложений с использованием React
2026-05-04 в 12:12, admin, рубрики: backend, c++, React, Shine Framework, tauriДоброго времени суток, уважаемые пользователи Хабра.
Я не то что бы профессиональный разработчик на C++, в основном я занимаюсь геймдевом на UE5 (по крайней мере последнее время). Но последнее время достаточно часто я балуюсь разработкой десктоп приложений под Windows. Для красоты и простоты я задумывался об использовании именно react. Но из выбора что я увидел было 2 варианта:
-
Tauri - Фреймворк под Rust с отрисовкой фронтенда сделанном на React и т.п.
-
Electron - фреймворк для разработки кроссплатформенных настольных приложений с использованием веб-технологий (скопировал описание с гугла)
Многопоточность в SCADA системах
2026-04-29 в 11:15, admin, рубрики: c++, modbus, Mutex, scada, thread, автоматизация, АСУТП, диспетчеризация, многопоточность, плкДобрый день, коллеги!
Я инженер по энергетике и автоматизации. Имею приличный опыт работы с инженерными системами жизнеобеспечения. Не так давно появилась идея сделать свою SCADA-систему для диспетчеризации автономных инженерных систем.
Потихоньку начал изучать материал и в итоге дошёл до идеи написания вычислительного ядра. Оно довольно простое, но при этом, легко масштабируемое и предсказуемое. Системы, которыми предполагается управлять, относятся к объектам критической инфраструктуры, поэтому вопрос архитектуры, отказоустойчивости и предсказуемости поведения для меня был принципиален с самого начала.

