5
私は時々静的にインスタンス化する構造体を持っていますが、時にはユーザーがヒープに割り当てることを望みます。関数への引数として両方を許可することは可能ですか?静的変数とボックスの両方を関数の引数として使用できますか?
pub struct MyData {
x: i32
}
static ALLOCATED_STATICALLY: MyData = MyData {x: 1};
// what should my signature be?
fn use_data(instance: Box<MyData>) {
println!("{}", instance.x);
}
fn main() {
use_data(Box::new(MyData{x: 2}));
// this doesn't work currently
use_data(ALLOCATED_STATICALLY);
}
"ポインタ"ではなく "参照"と言う方がいいでしょう。後者は私に*生ポインタ* 'const T'を考えるようになります。 – Shepmaster