в смысле, что ты передаеьш константную ссылку на объект, но вот внутри этого объекта может быть поле с ссылкой без конст и ты по ней переходишь уже с полными правами на изменение чего тебе надо
Тут проблемы не столько в мутации, сколько в перемещении объекта в новый участок памяти и инвалидации существующих ссылок. В List можно держать указатели и добавлять элементы без проблем. Но как это в языке выразить - без понятия.
И даже две мутабельные ссылки на одну переменную нужно грамотно менеджить
от того, что ты нацепишь const вроде не станет хуже. А так согласен, но я так и не понял, к чему эта претензия? С++ даёт возможность обезопаситься, а C# только ограниченно
когда тебе отдают ридонли коллекцию, а потом она у тебя мутировать начинает, потому что кто-то держит ссылку на underlying list
Правда когда тебе дают рид онли коллекцию - это означает, что конкретно ты её мутировать не можешь. Только читать. А изменяться она может. Вроде в шарпах readonly как раз об этом. Могу ошибаться. Раз в жизни на них писал
от того, что ты нацепишь const вроде не станет хуже. А так согласен, но я так и не понял, к чему эта претензия? С++ даёт возможность обезопаситься, а C# только ограниченно