Gamble Blackbook
Gamble Blackbook
@GambleBlackbookPro

АЛИАСИНГ В C++: КОГДА ПАМЯТЬ ИГРАЕТ В ПЕРЕОДЕВАНИЯ

АЛИАСИНГ В C++: КОГДА ПАМЯТЬ ИГРАЕТ В ПЕРЕОДЕВАНИЯ

Компилятор смотрит на код и такой: «А это точно один и тот же кусок памяти? Или ты сейчас мне подсовываешь новый персонаж под старым паспортом?»

Вот тут и начинается aliasing — штука, из-за которой можно получить не баг, а классический C++-аттракцион: всё собрано, всё красиво, а потом undefined behavior тихо выносит продакшн через чёрный ход. ⚠️

История у проблемы старая: язык рос, костыли множились, комитет пытался «договориться с физикой», но физика, как обычно, не подписала ни один пропозал. В других языках с этим либо строже, либо проще, а в C++ — как в плохом retention: вроде клиент ещё жив, но уже ничего не обещает.

Что это значит для нас, смертных:
- один и тот же блок памяти нельзя трактовать как попало;
- оптимизатор не обязан угадывать твои намерения;
- «ну у меня же работает» — не аргумент, а будущий инцидент.

И да, надежды на очередные предложения стандарта тоже были. Как обычно: обещали закрыть дыру, а на выходе получили ещё один слой правил, который нужно помнить, иначе сам себя же и переиграешь.
Этот пост опубликован в Telegram-канале Gamble Blackbook. Подписаться можно по ссылке: @GambleBlackbookPro.
verticals

Свежие посты в категории «Verticals & Offers»

Все каналы категории →

start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.