您好,登錄后才能下訂單哦!
如下例子中,將狀態變量a的值賦值給狀態變量b。a與b都是以太坊虛擬機storage中不同的兩個空間,所以當調用change方法修改b的值的時候,不會影響到a空間中的值。
1 | uint public a = 100; |
在函數體內部,將狀態變量a的值賦值給狀態變量b。a與b都是以太坊虛擬機棧中不同的兩個空間。所以當修改b的值的時候,不會影響到a空間中的值。
1 | function change2() public pure returns(uint,uint){ |
在下面的例子中,test函數調用了change函數,并傳遞了參數a。 傳遞的參數a會賦值給以太坊虛擬機memory空間中的變量num。由于函數的參數num和狀態變量a是不同的兩個空間。僅僅是將a的值賦值給了num。所以對于變量num值的修改不會改變a變量的值
1 | uint public a = 100; |
1 | pragma solidity ^0.4.23; |
本文鏈接: https://dreamerjonson.com/2018/11/22/solidity-30-value-copy/
版權聲明: 本博客所有文章除特別聲明外,均采用 CC BY 4.0 CN協議 許可協議。轉載請注明出處!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。