首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何理解固体中的储存过程?

问如何理解固体中的储存过程?
EN

Ethereum用户
提问于 2018-12-20 15:56:40
回答 1查看 64关注 0票数 1

要求(newKittenId == uint256(uint32(NewKittenId)的含义是什么?

编辑:

完成相关守则:

代码语言:javascript
复制
uint256 newKittenId = kitties.push(_kitty) - 1;

// It's probably never going to happen, 4 billion cats is A LOT, but
// let's just be 100% sure we never let this happen.
require(newKittenId == uint256(uint32(newKittenId)));
EN

回答 1

Ethereum用户

发布于 2018-12-20 16:01:31

确保newKittenId < 2 ** 32。

也可以通过将newKittenId声明为uint32来实现这一点。

将其声明为uint256的一个可能原因是性能优化。

编辑:

在编辑之后,很清楚为什么newKittenId被声明为uint256,因为push返回数组的长度,数组的类型是uint256。然而,作者希望确保这个实际长度永远不会到达2 ** 32 (在这种尝试中恢复操作)。

票数 3
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/64399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档