参照型 `&T` `&mut T`
Primitive Type 参照 &T
or &mut T
参照, 共有と可変
参照は、ある所有された値の借用を表す。(借用とは所有権を持たないこと)
&
,&mut
演算子もしくは、ref
, ref mut
キーワードを使って参照を得ることが出来る。
ポインタ型(*const T
, *mut T
)と違って、nullでないことが保証されている。
殆どの場合において、参照はオリジナルの値と同様に使うことが出来る。
- フィールドへのアクセス
- メソッド呼び出し
- indexing
参照は、ライフタイムを持つ
ライフタイム - 借用が有効であることを表すスコープ
'static
ライフタイムは、プログラムと同じスコープであることを表す。
例として、文字列リテラルは、'static
ライフタイムを持つ。
実装しているトレイト
Copy
Clone
T
がCloneを実装しているしていないに関わらずDeref
Borrow
Pointer
T
が実装している場合
PartialOrd
Ord
PartialEq
Eq
AsRef
Fn
Hash