Iは、以下stack-とヒープに割り当てられた変数を有する:var1
4とvar2
であり、Iはmem::size_of_val()
を使用してサイズを確認するときヒープ上のものへのポインタのサイズがスタック変数のサイズよりも大きいのはなぜですか?
println!("var1 ={} var2 ={}", var1, * var2);
:
let var1 = 10;
let var2 = Box::new(10);
は、これらの出力を同じ値、10
を印刷は8です。
ヒープへのポインタはvar2
ではありませんか?ポインタがスタック変数(var1
)よりも大きいのはなぜですか?
また、println!()
の中で "*
"(つまり、*var2
)を使用していますか?私はいずれかの方法で10を取得します。