Vec
Vec
は、サイズ変更可能な標準のヒープ割り当てバッファです。
Vec
は Deref<Target = [T]>
を実装しているため、Vec
でスライス メソッドを呼び出すことができます。
Speaker Notes
This slide should take about 5 minutes.
Vec
は、String
およびHashMap
とともにコレクションの一種です。含まれているデータはヒープに格納されるため、コンパイル時にデータ量を把握する必要はありません。データ量は実行時に増加または減少する場合があります。Vec<T>
もジェネリック型ですが、T
を明示的に指定する必要はありません。Rust の型推論でいつも行われるように、最初のpush
呼び出しでT
が確立されています。vec![...]
はVec::new()
の代わりに使用する正規のマクロで、ベクターへの初期要素の追加をサポートしています。- ベクターにインデックスを付けるには
[
]
を使用しますが、境界外の場合はパニックが発生します。または、get
を使用するとOption
が返されます。pop
関数は最後の要素を削除します。 - スライスについては 3 日目に説明します。受講者は現時点では、型
Vec
の値により、ドキュメントに記されたすべてのスライスメソッドにアクセスできることだけを知っていれば十分です。