Итак, я (думаю, я) понимаю, что делает in
модификаторе параметра. Но то, что оно делает, кажется, довольно избыточно.
Обычно, я думаю, что единственная причина, чтобы использовать ref
бы изменить вызывающую переменную, которая явно запрещенный in
. Так, проходя мимо in
ссылке, кажется логически эквивалентна передаче по значению.
Есть ли какое-то преимущество в производительности? Я полагал, что в стороне от вещей параметр ref
должен как минимум копировать физический адрес переменной, который должен быть того же размера, что и любая типичная ссылка на объект.
Итак, тогда преимущество только в больших структурах, или есть какая-то закулисная оптимизация компилятора, которая делает ее привлекательной в других местах? Если последнее, то почему я не должен делать каждый параметр ап in
?