[過去ログ] Rust part19 (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
849: 2023/02/24(金)19:59 ID:e5dQOFE4(1/9) AAS
>>843
オブジェクトという単語は各プログラミング言語で様々な意味で用いられているが
Rustでその文脈で用いられることは少なく
その説明ではオブジェクトではなく値(value)とした方がよい
Rustで用いられるオブジェクトの用法の多くはtrait objectであり
Rustで重要なオブジェクト安全もtrait objectの話
856: 2023/02/24(金)21:23 ID:e5dQOFE4(2/9) AAS
>>852
参照の所有権とは言わない
値に対する所有の唯一性が所有権で
値に対する参照が借用
そして所有>借用の生存期間ルールを満たした上で所有のスコープルールとなるため、
>>843
>> 原本および仮の所有権がすべて放棄された時にオブジェクトは破棄されます.
省2
860: 2023/02/24(金)21:41 ID:e5dQOFE4(3/9) AAS
>>853
値と所有者/所有権を切り離して考えるのが無意味なのは正しい
Rustでは値には必ず所有者が存在し、所有者は必ず値を持ち、これが所有権
それぞれ単独では存在できないため、切り離して考えることは無駄で意味がない
864(1): 2023/02/24(金)21:52 ID:e5dQOFE4(4/9) AAS
>>859
もちろん参照は実際にはポインタとして登場することが多いけど、必ずしもポインタが登場するわけではなくその保証はない
参照という概念レベルでのみ保証されており、最適化でポインタなんて消えることも多いため、ポインタの存在を仮定してはいけない
もちろん値としての参照がCopy実装型で、可変参照が!Copyなのはその通り
868(1): 2023/02/24(金)22:04 ID:e5dQOFE4(5/9) AAS
>>866
すまんね
そこでポインタをアドレス値と言ってるから、そういう具体的なアドレス値に必ずしも対応するわけではないという説明
もちろん型の分類としてはpointer型でその通り
869: 2023/02/24(金)22:06 ID:e5dQOFE4(6/9) AAS
>>865
Rust公式本のここが分かりやすい
Ownership Rules
・Each value in Rust has an owner.
・There can only be one owner at a time.
・When the owner goes out of scope, the value will be dropped.
870: 2023/02/24(金)22:07 ID:e5dQOFE4(7/9) AAS
すまん、>>867と被ってしまった
872: 2023/02/24(金)22:26 ID:e5dQOFE4(8/9) AAS
>>871
アドレス値として取り出すこともできるのはもちろんその通り
しかしRustの参照の概念を初心者に教える入門でアドレス値を仮定した教え方は完全に間違いです
898: 2023/02/24(金)23:59 ID:e5dQOFE4(9/9) AAS
値の所有権は所有する変数のスコープで尽きるけど、
参照値の所有権は参照先の値より長く生存できない点でちがっていて特殊
だから入門書のそこで参照の所有権という言葉を持ち出すのは混乱の元かな
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.210s*