и что она делает?
А какой твой предыдущий язык? на сях писал?
python, js - высокоуровневое
так-с, а теперь может кто нибудь объяснить за название явления "мутабельная ссылка", я совсем не могу въехать почему оно так называется
Ссылка, через которую можно мутировать значение за ней
ну на самом деле есть мнение, что лучше бы она называлась "уникальная ссылка"
грубо говоря: ссылка на изменяемый объект для изменения?
точнее ссылка для изменения изменяемого объекта?
Лучше как сказал @Puuuuuh - уникальная ссылка, так сразу лишние непонятки пропадут
честно, не то, чтобы понятнее стало. Логика как то теряется
нет, не теряется - &mut - это уникальная ссылка на объект - как побочная плюшка - возможность изменять этот объект
уникальная ссылка, которую можно использовать только один раз, при этом по этой уникальной ссылке можно изменять значение хранящиеся под этой ссылкой?
Использовать можно сколько угодно раз, но в один момент времени может быть только одна уникальная ссылка на объект
Грубо говоря, эксклюзивное право доступа на чтение и запись. Как в файловой системе: по умолчанию при отсутствии синхронизации записывать разрешено лишь одному процессу.
так вообще идеально, спасибо большое!
из разных мест? в плане?
Например ты сохранил размер списка, и что-то делаешь с этим списком в пределах его размера, по ходу дела даёшь ссылку на список какой-то функции, а она между делом удаляет какой-то элемент, и теперь у тебя элементов меньше чем ты думаешь. Жди багов. Ну или в многопоточной среде например.
агаааа, то есть когда я передаю функции уникальную ссылку, а функция условно удаляет, то из за того, что ссылка уникальная, элементы удалились определенным образом и результат вышел не тот, который ожидает пользователь
Не, уникальная ссылка как раз решает эту проблему. Потому что если ты решил изменять данные, то не можешь иметь другие ссылки, поэтому когда код изменит данные через изменяемую ссылку, в другой части программы данные неожиданно не изменятся, потому что компилятор просто не даст сделать еще какую-то ссылку кросе изменяемой. Неизменяемых ссылок может быть сколько угодно, но из них можно только читать данные.
Как же это все тяжко, про шок, спасибо еще раз))
Кажется, ты не знаешь, что такое ссылка?
указатель на объект в памяти, с этим все нормально
Обсуждают сегодня