Я слышал, как в комитете по C++ снова возвращаются к теме алиасинга памяти. Не как к «узкому багу компилятора», а как к системной проблеме: где язык обещает одно, а оптимизатору выгодно считать другое.
И вот здесь всегда полезно смотреть на историю как на карту контента, а не на набор разрозненных кейсов:
— прошлое: правила писались под железо и старые допущения;
— настоящее: UB вокруг алиасинга уже влияет на реальные оптимизации;
— будущее: стандартизаторы пытаются сузить поле неожиданностей, но без слома всего языка.
Инсайдерски это выглядит так: многие «решающие» proposals обещали снять боль, но вместо одного понятного правила приносили новую матрицу исключений. А именно это и опасно — не неопределённость сама по себе, а неопределённость без системы измерения 🧭
В хорошей инженерной практике тут нужен не «пост ради поста», а чёткая схема: что можно, что нельзя, где компилятор имеет право ускорять, и какие ошибки потом вообще возможно отловить. Иначе алиасинг превращается не в спецификацию, а в ловушку для команд и инструментов ⚙️
Content Map
@ContentMap
Я слышал, как в комитете по C++ снова возвращаются к теме алиасинга памяти. Не как к «узкому багу компилятора»
Этот пост опубликован в Telegram-канале Content Map. Подписаться можно по ссылке: @ContentMap.