("i32类型占的内存空间为:{}字节", std::mem::size_of::());
println!...类型占的内存空间为:24字节
Option类型占的内存空间为:16字节
但是对于enum类型,
会有一个tag字段,uint64,来标记变体,是None值还是Some值
struct Option...在Rust中,元组的大小是固定的。这里解释一下元组大小固定的含义:
元组中的元素类型和数量在编译期就已经确定,不能在运行期修改。
编译器会根据元组中元素的类型,预先分配足够的内存用于存储这些元素。...元组的内存布局和大小也在编译期就确定下来了,运行期不会改变。
尝试创建包含不同类型或数量元素的元组,是编译时错误。...编译器会预先知道:
元组元素类型为i32, f64, &str
i32占用4字节,f64占用8字节,&str占据一个指针的空间
所以该元组占用的内存大小为4 + 8 + 8 = 20字节
这20字节的内存在编译时就已分配