- 所有者 - Rustの各値は所有者と呼ばれる変数と対応している - どんなときでも所有者は1つ - 所有者がスコープ`{}`外になったら,値は破棄される - move - 代入したり,関数に値を渡したりすると所有権が移る.moveされるという. - 関数から値を返すときも,関数から戻り先へ所有権がmoveされる - 参照/借用 - 関数に値をそのまま渡すとmoveされちゃうので,されたくなかったら参照を渡してやればいい - 関数の引数に参照を取ることを,借用という - `&`が参照 - `*`が参照外し - 任意のタイミングで,不変な参照はいくつでも作れる.可変な参照`&mut`は一つしか作れない. - データ競合を防ぐ仕組み [#rust](Rust.md)