solidity智慧合約[38]-storage引用
阿新 • • 發佈:2018-11-25
storage引入
storage屬性是一種引用型別。在如下的合約中,定義了動態長度陣列arrx,arrx儲存在以太坊虛擬機器storage空間中的變數。
當呼叫test方法之後,定義了變數uint[] Z。這個時候,如果我們在remix瀏覽器中進行編譯,我們會看到一個警告。因為預設的情況下,對於動態陣列
會加上storage屬性。也就是:uint[] storage x。storage屬性是一種引用型別,其引用了以太坊虛擬機器storage空間中的狀態變數。而不是對於值的拷貝
因此,在test函式中,當修改了Z的長度和Z的內容之後,再次檢視arrx的長度和內容,會發現對應發生了變化。
1 |
pragma solidity ^0.4.23; |
本文連結: https://dreamerjonson.com/2018/11/23/solidity-38-storage/
版權宣告: 本部落格所有文章除特別宣告外,均採用 CC BY 4.0 CN協議 許可協議。轉載請註明出處!