Rustとか言うダブスタ言語 (173レス)
1-

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的な考え方
38: 2024/10/19(土)00:29 AAS
全く見たことがない言語なんだ、なんか発狂している海外のエンジニアを見るとこの言語は大丈夫なのかとは思う
39: 2024/10/19(土)02:18 AAS
名前通りだよまったく
1-
あと 134 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.035s