ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 内存变量的布局(Layout in Memory) Solidity预留了3个32字节大小的槽位: - 0-64:哈希方法的`暂存空间(scratch space)` - 64-96:当前已分配内存大小(也称`空闲内存指针(free memory pointer)`) 暂存空间可在语句之间使用(如在内联编译时使用) Solidity总是在`空闲内存指针`所在位置创建一个新对象,且对应的内存永远不会被释放(也许未来会改变这种做法)。 有一些在Solidity中的操作需要超过64字节的临时空间,这样就会超过预留的`暂存空间`。他们就将会分配到`空闲内存指针`所在的地方,但由于他们自身的特点,生命周期相对较短,且指针本身不能更新,内存也许会,也许不会被`清零(zerod out)`。因此,大家不应该认为空闲的内存一定已经是`清零(zeroed out)`的。