您好,登錄后才能下訂單哦!
下面的例子說明了memory賦值給storage的情況。在test函數中,memory空間的變量s復制給了狀態變量stu。為值的拷貝問題。并且由于這兩個空間互不影響。因此修改變量的值不會影響到另一個變量的值。
當調用call函數時,返回100,"jonson"
。s的修改不會影響變量stu。
1 | pragma solidity ^0.4.23; |
如下例,說明了storage復制給結構體 memory變量的情況。在test函數中,其實質是將s引用的狀態變量的值賦值給了guy。
變量guy不是存儲的引用,而是一個結構體空間。當調用call函數時,返回100,"jonson"
。對于guy的修改不會影響到stu的修改。
1 | contract storageToMemory{ |
memory與memory之間的相互轉換是值傳遞。
在下面的例子中,當調用call函數時,在memory中開辟了結構體的三個實例空間a、b、c。賦值為值的拷貝。他們之間互不影響。
修改一個變量不會影響其他變量的值。
1 | pragma solidity ^0.4.23; |
本文鏈接: https://dreamerjonson.com/2018/11/23/solidity-42-memory-storage/
版權聲明: 本博客所有文章除特別聲明外,均采用 CC BY 4.0 CN協議 許可協議。轉載請注明出處!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。