[過去ログ] Rust part24 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
417(1): デフォルトの名無しさん [sage] 2024/06/27(木) 22:40:30.91 ID:TDzAch9x(5/6) AAS
>>406406(2): デフォルトの名無しさん [sage] 2024/06/27(木) 13:24:58.99 ID:veLj9zg3(2/4) AAS
スタックてのは関数が何段か終了して縮んだあと、また伸び直して前の伸びを上書きしちゃうでしょって話
とにかく「移動」というのが新しくて、代入の移動はわかったけど
関数呼び出しの引数も移動です、返り値も移動ですってのがどういう実装に落とされるのかまだわかってない
そのmoveについてもmoveというRust上の概念の理解のみがRustを学習&利用していく上で必要となるよ
moveによる生成コードがどのようになるかは最適化の方法の変更や進化で変わり得る話だから確定することはできず、学ぶこともできない
こんな場合に現在はたまたまこんな生成コードになっていることだけは実験などでわかるけど今後の保証はない、としか言えない
だからmoveはmoveとして理解することが唯一の正解でしょう
439: デフォルトの名無しさん [sage] 2024/06/28(金) 05:55:26.25 ID:OzTZZFgl(3/3) AAS
>>417
関数の引数にオブジェクト(Copy型でない型)を渡す際は参照渡しが基本で、
うっかり所有物を引数として渡すと所有権ごと関数の向こうへ移動してしまって二度と戻って来ない
これは逆に、関数が何らかの実体を返り値として返す際には便利
とまあネチネチ考えてればわかってくるもんだよ
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.039s