Boxを使う Vecを使う std::heap::Allocを使う placement-in を使う mallocを使う 1. Boxを使う rustで動的にメモリを確保する方法といってまず思いつくのはBoxを使う方法だと思います.例えば,以下のようにすれば長さ1000のu8のバッファを確保できます. let buffer : Box<[u8]> = Box::new([0;1000]); ただし,この方法は以下のような特徴があります. 確保した領域は必ず初期化する必要がある. 一旦スタック上にデータを確保したあとに,ヒープにそのデータをコピーする 1.に関しては,これは変数は初期化しないと利用できないというrustの原則に則ったものですが,場合によってはこの初期化コストが大きい場合があります.また,2. の方が問題で,あまりにも大きい領域を確保しようとするとスタックオーバフローが発生する