[過去ログ] Rust part24 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
788
(1): デフォルトの名無しさん [] 2024/07/12(金) 22:12:50.70 ID:VeLgD+zy(1/2) AAS
>>781
781(2): デフォルトの名無しさん [sage] 2024/07/12(金) 15:49:17.77 ID:4qvv2DeJ(4/4) AAS
>>773
Box
Rc
Arc
Cell
RefCell
OnceCell
Pin
RcやBoxは分かりやすいけどStringやVecも動的確保だよね、ということに気付いてない人もいるかも?

Rustが良いのはムーブが基本なおかげで意図せぬメモリコピーが起きないこと
所有権を他に渡す (ある構造体から別の構造体にか、あるコンテナから別のコンテナにとか移動する) 際にコストが発生しない
C++は逆で明示的に move しないと意図せぬコピーが起こる
795: デフォルトの名無しさん [] 2024/07/12(金) 23:48:00.71 ID:VeLgD+zy(2/2) AAS
>>793
793(2): デフォルトの名無しさん [sage] 2024/07/12(金) 23:08:24.73 ID:LuKbokrL(8/9) AAS
参照カウンタ自体は全然新しくない
Rustがそれを無くせない理由が知りたい
メモリ安全性を提供するため
オブジェクトを共有するのに「所有権は1人だけが持ち、他はそれを参照する」仕組みだと、すでに実体が消えてるオブジェクトを参照する問題が起こり得る
Rustでは、そのようなオブジェクトは参照カウンター付き (RcやArc) にするか、ライフタイムにより「寿命の短いものが寿命の長いものを参照している」ことを示さない限りコンパイルが通らないようにすることで安全性を保証している

逆にC++は参照カウンターなしでも共有できるけど正しく実装しないとメモリ関連のバグを引き起こす
この手のバグはセキュリティの問題になり得る問題を特定しにくい等の厄介さがあるから、Rustはそれをコンパイル時にできる限り防ぐという考え
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.046s