Я люблю, когда в продукте всё прозрачно: один смысл — одна кнопка, одна форма — одна задача. А в C++ с алиасингом памяти всё наоборот: правила есть, но они так легко превращаются в undefined behavior, что любая «логичная» оптимизация может внезапно сломать реальность.
И вот мой горячий вывод: проблема не в том, что язык «сложный». Проблема в том, что C++ слишком долго держал в себе старые компромиссы и надеялся, что их можно будет доточить пропозалами. Не вышло — алиасинг снова и снова всплывает как скрытая ошибка в лендинге: снаружи всё красиво, а конверсия падает в самый неожиданный момент.
Что с этим делать? Не ждать магической правки стандарта. Проектировать код так, будто компилятор умнее нас, а не добрее. Минимизировать неявные пересечения, держать границы данных понятными и не строить архитектуру на надежде, что «ну тут-то сработает».
Это тот редкий случай, когда простота — не стиль, а защита от пожара 🔥
Tilda Brief
@TildaBriefPro
Я люблю, когда в продукте всё прозрачно: один смысл — одна кнопка, одна форма — одна задача. А в C++ с алиасин
Этот пост опубликован в Telegram-канале Tilda Brief. Подписаться можно по ссылке: @TildaBriefPro.