Rustとか言うダブスタ言語 (173レス)
上下前次1-新
18: 2024/10/17(木)19:08 AAS
 参照型はアドレスが入ってる 
19: 2024/10/17(木)19:09 AAS
 >>17 
 だからその所有権移したりコピーした値を渡したりダブスタだろって言う話 
20(1): 2024/10/17(木)19:12 AAS
 所有権の管理を俺様ではなくたかがプログラム言語ごときが勝手にやるのが気に食わないっていうのなら言ってることはわかるけど 
 ダブスタと言われると意味が分からない 
21: 2024/10/17(木)19:13 AAS
 >>20 
 ダブスタだろ 
 値型と参照型で振る舞い変えるんだから 
22: 2024/10/17(木)19:14 AAS
 ここで言う値型が、所有権を失ったり失わなかったりコロコロ挙動が変わるならまあダブスタだけど 
 参照だって定義してるんならそりゃ動きも変わるだろう 
23(1): 2024/10/17(木)19:17 AAS
 そこまで理解していて「わからない」とか言ってるのがわからない 
24: 2024/10/17(木)19:26 AAS
 >>23 
 いやなんで2つの振る舞いにしたの?ってなるくね? 
 値型もメモリコピーしないで参照型のように値渡したら開放するでいいじゃん 
25(1): 2024/10/17(木)22:33 AAS
 Rustに値型と参照型という区別はないぞ 
 参照という概念はあるけど、これは &i32 なども作れるもので、「整数なら値型」といったものではない 
 どちらかというとC++に近い 
  
 let a = b でbが所有権を失うかどうかは、その型が「コピー可能かどうか」で決まる 
26(1): 2024/10/17(木)23:08 AAS
 Rustでグラフィックやると面白い 
 まぁCでもC++でもいいけど 
27: 2024/10/17(木)23:56 AAS
 >>25 
 メモリコピーできるかできないかだろ? 
 でそのメモリコピーできるかできないかで変数の振る舞いを変えるの? 
28: 2024/10/17(木)23:57 AAS
 >>26 
 でもあれって結局DirectXラップするだけなのでは? 
 それともDirectXすら使わずに1から作るってことかい? 
29(2): 2024/10/18(金)00:06 AAS
 例えばめちゃくちゃ誇張した表現にはなるが 
  
 fn main() { 
 let a=3.402823e+38;←便宜上float16の最大値とする(4byte) 
 Hoge(a);←Rustわかってないやつはここでaが移譲されたと勘違いする 
 let b=3.402823e+38;←もう一度使いたいがために宣言する 
 Hage(b); 
 . 
 . 
 . 
 } 
 ↑ 
 こんな感じのことやってたらチリ積でメモリリークしてないか?(↑の例をだと8byteのメモリリーク) 
 aやbが解放されないから 
30(1): 2024/10/18(金)00:08 AAS
 コピーするかしないかって相当重要なポイントだと思うんだけど 
 なんだろうWeb系ばっかやってるとそういうのどうでもいいと思うのかね? 
31: 2024/10/18(金)00:14 AAS
 >>30 
 いや重要なのはわかるけど変数に代入したあとは解放なりなんなりすればよくないか? 
 それか普通の言語のように記述を変えるか 
 let b = mcopy(a); 
 とかならだれも文句言わないけど 
32: 2024/10/18(金)00:16 AAS
 a.mcopy;とかでもいいよaはメモリコピーインターフェースを実装しているならこれが一般的な書き方になるか? 
33(1): 2024/10/18(金)00:17 AAS
 だから型を変えることで記述変えてるじゃん? 
 他の言語の記法が絶対正義でRust固有のものは常に間違ってるっていうなら、それはもうどうしようもない 
34: 2024/10/18(金)00:22 AAS
 Rustの良いところってintやfloat,longなんかにbit数書いてるところだよね 
 あれたまにど忘れしちゃうときあるからみたらわかるの便利 
35: 2024/10/18(金)00:25 AAS
 >>33 
 記述は変えてなくね? 
36(1): 2024/10/18(金)06:24 AAS
 >>29 
 RAIIでググれ 
 変数はスコープを外れたら寿命が尽きるからリークにはならないし、そもそもスタックとヒープの違いを理解してないと思う 
37: 2024/10/18(金)07:28 AAS
 所有権はメモリだけでなくリソース管理の問題でもある 
 ファイルハンドルなんかが良い例で、実態はせいぜい数バイトしかないからコピー自体にコストがかかるわけではないんだけど、ファイルというリソースに絡むから所有権の管理の対象になる 
 あるファイルへのアクセスを行う変数が同時に複数ある状態を許容しない、ということ 
  
 共有するなら Rc や Arc などの『シェアされてる』ことを示す型でのラップが必要だし、実際にアクセスする際に Mutex などでのガードが必要になる 
 これらをコンパイル時に制限することでバグを生みにくい設計にしようというのがRust的な考え方 
上下前次1-新書関写板覧索設栞歴
あと 136 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.016s