|
Box構造体は、ヒープ(グローバル領域)上にメモリーを確保する構造体。
Box構造体はstd::preludeに含まれているので、useしなくても使える。
BoxはDerefトレイトを実装しているので、Box型の変数からBox内部のインスタンスのメソッドが呼べる。[2024-10-04]
struct MyStruct {} impl MyStruct { fn example(&self) { print!("example"); } } fn main() { let s: Box<MyStruct> = Box::new(MyStruct {}); s.example(); // sはBox型の変数なのに、Boxの中のMyStructのメソッドが直接呼び出せる }