С например
struct Foo {
mapping(address => uint) b;
}
Foo[] foo;
если функция имеет дело только с foo[4], может ли она ссылаться на него из хранилища, не копируя его? это что
function c() {
Foo memory p = foo[4];
}
делает?
Чтобы получить ссылку из переменной в состоянии контракта, вы должны использовать storage
квалификатор
function c() {
Foo storage p = foo[4];
}
Внутри c
функции все изменения также p
будут обновляться .foo
продолжение
memory
, копирует ли он что-нибудь или это ссылка, за исключением того, что ее нельзя обновить?Исмаэль
продолжение
storage
?storage
газ тоже дешевле ?Исмаэль