2
我有以下重新建立了新和堆分配变量:为什么堆上的某个指针的大小大于堆栈变量的大小?
let var1 = 10;
let var2 = Box::new(10);
打印这些输出相同的值,10
:
println!("var1 ={} var2 ={}", var1, * var2);
当我检查使用mem::size_of_val()
大小,var1
是4和var2
是8
是不是var2
的指针堆?为什么指针要大于堆栈变量(var1
)?
此外,在println!()
中使用“*
”(即*var2
)是否应该做任何不同的事情?无论哪种方式,