簡體   English   中英

為什么 memory 關鍵字在視圖 function 中被提及

[英]Why memory keyword is mentioned in view function in solidity

  function getAllWaves() public view returns (Wave[] memory) {
        return waves;
    }

我正在閱讀 _buildspace 教程並找到了這段代碼。 我之前讀過 memeroy 關鍵字用於solidity 來指定變量應該存儲在 memeroy 中(而不是狀態),以便我們可以在 function 調用后銷毀它。 但是為什么在此視圖 function 的返回部分中提到了 memory,因為它只是返回一個值。

我是新手,所以任何與此相關的文章也會有所幫助。 謝謝

所有引用類型變量(包括數組)都需要指定它們的數據位置

EVM 不能直接從存儲中返回,因為storage位置修飾符就像一個指針,只返回一個指針而不是實際值是沒有用的。

所以它將waves數組的值從存儲加載到memory,然后從memory返回。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM