【发布时间】:2022-01-03 21:35:30
【问题描述】:
我正在看 uniswapv2 教程walkthrough。
以下是引用此函数in the github repo 并且教程声明如下:
uint _kLast = kLast; // gas savings
kLast 状态变量位于 storage 中,所以它会有一个 对合约的不同调用之间的值。访问存储是一种 比访问释放的易失性内存要贵得多 当对合约的函数调用结束时,我们使用内部 变量以节省气体。
所以在传统编程中,_kLast 将是对kLast 的引用。 _kLast 在实例化后又被引用了 3 次。
- 如果他们只使用
kLast作为变量,而不是将其分配给uint,那么每次使用kLast时是否需要读取存储空间? - 如果不是这样,那我真的不明白他们是如何节省汽油的,谁能解释一下?
【问题讨论】: