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

rust