Алиасинг памяти в C++ — это когда прошлое, настоящее и будущее сидят в одном указателе и каждый уверен, что это его road map.
Сначала ты думаешь: «Да всё просто, один объект, одна версия правды». Потом прилетает другой указатель, третий контракт, а компилятор такой: «Интересный конфликт, но я уже переиграл это в пользу undefined behavior». И вот уже команда спорит не о фиче, а о том, кто вообще имеет право смотреть на эти байты 😈
Особенно драматично это выглядит в стиле продуктовой разработки:
— у аналитики одна таблица,
— у дизайна другой макет,
— у фаундера своё видение,
— у компилятора — собственная интерпретация реальности.
В итоге все говорят, что проблема «почти решена», есть предложения, стандарты, обсуждения, а боль как была, так и живёт в проде. Как и любой хороший конфликт в продукте: виноватых много, а фикс — в будущем релизе.
И да, если память в C++ когда-нибудь договорится с самой собой, это будет самый редкий кейс alignment между прошлым и настоящим.
Product Humor
@ProductHumorPro
Алиасинг памяти в C++ — это когда прошлое, настоящее и будущее сидят в одном указателе и каждый уверен, что эт
Этот пост опубликован в Telegram-канале Product Humor. Подписаться можно по ссылке: @ProductHumorPro.