Rustのslice型
Rustのslice
連続したメモリ領域に同じ型の要素が並んでいるデータ構造に対する、範囲のView
型は[T]
[T]そのものは単独で扱われない
参照やsmart pointerを経由して扱われる
e.g. &[T], Box<[T]>
DSTは単独で扱えない
docs
/mrsekut-book-4873118557/088 (3.4.4 スライス)
/mrsekut-book-4297105594/193 (4-3-3 スライス)
#wip
以下の2つで構成される
先頭要素へのポインタ
fat pointer
要素数
&[T]
共有スライス
&[T]
&mut [T]
可変スライス
&mut[T]
Box<[T]>
Box化されたslice
Box<T>は、Box<T>のこと
それのslice版
/mrsekut-book-4297105594/196
e.g.
code:rs
let v = vec!1, 2, 3, 4, 5; // 参照元のデータ : Vec<i32>型
println!("{:?}", &v..); // スライス : &i32型
let a = 1, 2, 3, 4, 5; // 参照元のデータ : i32; 5型
println!("{:?}", &a..); // スライス : &i32型
https://www.wantedly.com/companies/wantedly/post_articles/290761
https://blog.cardina1.red/2020/12/24/defining-custom-slice-types/