|
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のメソッドが直接呼び出せる
}