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
)是否應該做任何不同的事情?無論哪種方式,