Solidity
比較 Solidity 中的記憶體指針
有沒有辦法比較 Solidity 中的指針?
我有兩個局部變數:
uint256[] memory a = new uint256[](256); uint256[] memory b = a;
如果我嘗試
a == b
我得到這個編譯器錯誤:TypeError:運算符與類型和
==
不兼容uint256[] memory``uint256[] memory
一種可能的解決方案是使用
eq
內聯彙編中的指令:uint256[] memory a = new uint256[](256); uint256[] memory b = a; bool aEqualsB; assembly { aEqualsB := eq(a, b) } // aEqualsB now contains the value: true b = new uint256[](256); assembly { aEqualsB := eq(a, b) } // aEqualsB now contains the value: false