Soft Launch
Soft Launch
@SoftLaunchPro

В C++ есть один особенно неприятный вид багов: код выглядит логично, тесты молчат, а потом компилятор внезапно

В C++ есть один особенно неприятный вид багов: код выглядит логично, тесты молчат, а потом компилятор внезапно «решает», что вы имели в виду совсем не это.

Это алиасинг памяти. Простыми словами — когда два указателя или ссылки ведут себя так, будто они смотрят на одну и ту же область, а стандарт языка разрешает компилятору делать очень смелые оптимизации. Итог: UB, странные падения, неуловимые баги, которые всплывают только на одной сборке из десяти.

Разоблачение тут в том, что многие до сих пор думают: «ну если оно работает у меня локально, значит всё ок». Нет. С алиасингом в C++ локально может работать всё, а в релизе — ничего. Особенно когда вмешиваются оптимизации, другие версии компилятора и чуть более хитрый код.

У этой истории есть и прошлое, и настоящее, и попытки «починить всё стандартом» в будущем. Но пока главный вывод один: в C++ память не прощает небрежности. И чем сложнее код, тем дороже это незнание. ⚠️
Этот пост опубликован в Telegram-канале Soft Launch. Подписаться можно по ссылке: @SoftLaunchPro.
growth

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

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

start

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

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

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