[過去ログ]
Rust part16 (1002レス)
Rust part16 http://mevius.5ch.net/test/read.cgi/tech/1656285423/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
951: はちみつ餃子 ◆8X2XSCHEME [sage] 2022/10/06(木) 00:34:32.05 ID:rLXZsLBm >>949 いくつかの自明な場合にはライフタイムを省略しても暗黙のルールが適用されるから書かなくてもよいだけで、ライフタイムが存在しないわけではないよ。 その暗黙のルールが比較的自然に定義されてるってことなんだろうね。 http://mevius.5ch.net/test/read.cgi/tech/1656285423/951
952: デフォルトの名無しさん [sage] 2022/10/06(木) 00:37:42.29 ID:4kCBwc0q >>951 それは違うな >>949のケースは参照返しをしていないのだからライフタイムは出て来ない ライフタイムの存在を意識する必要もない http://mevius.5ch.net/test/read.cgi/tech/1656285423/952
953: デフォルトの名無しさん [sage] 2022/10/06(木) 01:26:52.37 ID:v2j3J5Hy 動くものってなんだよ http://mevius.5ch.net/test/read.cgi/tech/1656285423/953
954: デフォルトの名無しさん [sage] 2022/10/06(木) 01:33:20.48 ID:QZHh62Nh Rustを使ってると、参照を返すようなコードはだんだん避けるようになるかもしれないな http://mevius.5ch.net/test/read.cgi/tech/1656285423/954
955: デフォルトの名無しさん [sage] 2022/10/06(木) 01:59:47.45 ID:iRnDWdOb 競プロみたいにmain関数のみ データ型は数値のみ データ構造は固定配列のみ サイズも高々数百から数千程度なのでスタック確保でオッケー 配列への参照のみ必要 結果は固定配列を新しく作ってそこに詰めていく これなら所有権など一切いらない http://mevius.5ch.net/test/read.cgi/tech/1656285423/955
956: デフォルトの名無しさん [] 2022/10/06(木) 02:04:59.09 ID:MtARpYSM この件は数値型や競プロは一切関係ない ヒープを使うVecやStringやそれらを含む構造体を返しても『値返し』となる点がポイント 『参照返し』とならないため『ライフタイム』は登場せず『所有権』を意識する必要もない そして『値返し』だけでも様々な実用的なプログラムをRustで作ることができる http://mevius.5ch.net/test/read.cgi/tech/1656285423/956
957: デフォルトの名無しさん [sage] 2022/10/06(木) 02:07:29.97 ID:iRnDWdOb ついにlinux kernelにRustがマージされた模様 http://mevius.5ch.net/test/read.cgi/tech/1656285423/957
958: デフォルトの名無しさん [sage] 2022/10/06(木) 02:38:59.47 ID:v2j3J5Hy >>954 個人的にはdangling pointetとか内部オブジェクトを書き換えられる心配しなくて良くなるから 他の言語より積極的に参照返すようになってる気がする http://mevius.5ch.net/test/read.cgi/tech/1656285423/958
959: デフォルトの名無しさん [sage] 2022/10/06(木) 06:12:47.90 ID:QjC44cq3 参照返しの安全性を保証できるRustいいよな 参照返しを使わず値返しだけでもかなり広い範囲のことを処理できる点も同意 http://mevius.5ch.net/test/read.cgi/tech/1656285423/959
960: デフォルトの名無しさん [sage] 2022/10/06(木) 14:46:06.11 ID:wkSQkKsv 値返しとか参照返しなんて言葉をRustで使うなよw http://mevius.5ch.net/test/read.cgi/tech/1656285423/960
961: デフォルトの名無しさん [sage] 2022/10/06(木) 15:10:52.39 ID:9m7OD5Nx 参照を返す時のみ ライフタイムの概念が登場 だから参照返しと値返しの区別は実質的に重要 もちろんRustでは常に(広義の)値返しとなる そして参照返しとは参照を(広義の)値返しすること 参照返しの対義語として(狭義の)値返しを使ってもよい http://mevius.5ch.net/test/read.cgi/tech/1656285423/961
962: デフォルトの名無しさん [sage] 2022/10/06(木) 15:23:56.79 ID:v2j3J5Hy 構造体など参照以外の値がlifetime持つ場合もある 参照だけ区別するのはなぜ http://mevius.5ch.net/test/read.cgi/tech/1656285423/962
963: デフォルトの名無しさん [sage] 2022/10/06(木) 15:24:31.16 ID:v2j3J5Hy ここでいうlifetimeはlifetimeパラメーターのこと http://mevius.5ch.net/test/read.cgi/tech/1656285423/963
964: デフォルトの名無しさん [sage] 2022/10/06(木) 15:29:37.21 ID:phH8VW1M >>962 それはそのフィールドが参照を返しているね 構造体がライフタイムを持つのはそのような時 http://mevius.5ch.net/test/read.cgi/tech/1656285423/964
965: デフォルトの名無しさん [sage] 2022/10/06(木) 15:32:28.16 ID:mTG1aBjr > 値返しとか参照返し これはどこに定義された用語ですか? それともオレオレ用語ですか? https://en.wikipedia.org/wiki/Evaluation_strategy > 3.1 Call by value > 3.2 Call by reference 値渡し参照渡しは昔からよく聞くけど http://mevius.5ch.net/test/read.cgi/tech/1656285423/965
966: デフォルトの名無しさん [sage] 2022/10/06(木) 15:37:35.04 ID:mTG1aBjr 最初に言い出したのは >>952 > >>951 > それは違うな > >>949のケースは参照返しをしていないのだからライフタイムは出て来ない これか http://mevius.5ch.net/test/read.cgi/tech/1656285423/966
967: デフォルトの名無しさん [sage] 2022/10/06(木) 15:37:37.36 ID:ry4GAtyf >>965 それは関数の引数としての渡し方だから返し方とは独立ではないか http://mevius.5ch.net/test/read.cgi/tech/1656285423/967
968: デフォルトの名無しさん [sage] 2022/10/06(木) 15:38:40.62 ID:QZHh62Nh Return by Referenceも知らんのか・・・ http://mevius.5ch.net/test/read.cgi/tech/1656285423/968
969: デフォルトの名無しさん [sage] 2022/10/06(木) 15:40:52.32 ID:mTG1aBjr どこに定義されてる用語なのかを知りたいだけよw http://mevius.5ch.net/test/read.cgi/tech/1656285423/969
970: デフォルトの名無しさん [sage] 2022/10/06(木) 15:45:23.29 ID:JBcgzpIo Rustでは参照返しが有る時だけライフタイムパラメータが付くんよ 例えば3つの参照返しが有る時に3つのライフタイムが異なれば3つのライフタイムパラメータが付くんよ だから参照返しが有るか無いか区別されてしまうんよ http://mevius.5ch.net/test/read.cgi/tech/1656285423/970
971: デフォルトの名無しさん [sage] 2022/10/06(木) 16:06:44.80 ID:sWKfpE/G 結局Rustにおける値と参照とは何かを知るためには所有権の理解が必須なワケよ http://mevius.5ch.net/test/read.cgi/tech/1656285423/971
972: デフォルトの名無しさん [sage] 2022/10/06(木) 16:15:24.55 ID:B9K2Q0k5 by valueの意味が他の言語とは違うからな http://mevius.5ch.net/test/read.cgi/tech/1656285423/972
973: デフォルトの名無しさん [sage] 2022/10/06(木) 16:23:06.37 ID:bcHprxpF >>971 参照を返さない限り所有権の理解は不要 Rustでは配列も構造体も更にはヒープを用いるVecやString等も値として返される つまり参照を返さなくてもある程度の広範囲のプログラムを書くことができる http://mevius.5ch.net/test/read.cgi/tech/1656285423/973
974: デフォルトの名無しさん [sage] 2022/10/06(木) 16:33:59.37 ID:mb1xnKf4 ムーブのことも忘れないでください http://mevius.5ch.net/test/read.cgi/tech/1656285423/974
975: デフォルトの名無しさん [sage] 2022/10/06(木) 16:37:24.79 ID:JMKkrzgh >>974 ムーブする必要ないよな 参照渡しだけしていれば所有権は出て来ないな http://mevius.5ch.net/test/read.cgi/tech/1656285423/975
976: デフォルトの名無しさん [sage] 2022/10/06(木) 16:42:22.59 ID:bM/kk4ia 所有権要らないならRust要らないじゃんって思いながらずっと読んでる どういう結論に持っていきたいの http://mevius.5ch.net/test/read.cgi/tech/1656285423/976
977: デフォルトの名無しさん [sage] 2022/10/06(木) 16:44:20.49 ID:QZHh62Nh 釣りが目的で書き込んでるひとと、それに付き合ってレスしてるひとがいるからわけわからん http://mevius.5ch.net/test/read.cgi/tech/1656285423/977
978: デフォルトの名無しさん [sage] 2022/10/06(木) 16:49:39.04 ID:+ZB5z2+t 参照渡しだけして参照返しをしなければ 所有権もライフタイムも出てこないからそれらを意識することもない 結果として所有権とライフタイムを理解していなくてもそのスタイルでプログラムを組むことが出来てしまう http://mevius.5ch.net/test/read.cgi/tech/1656285423/978
979: デフォルトの名無しさん [sage] 2022/10/06(木) 17:03:06.06 ID:HCQdlFdq >>976 rust 学習の話だろ? 未来永劫所有権の理解は不要なんて誰も言ってないと思うが http://mevius.5ch.net/test/read.cgi/tech/1656285423/979
980: デフォルトの名無しさん [] 2022/10/06(木) 18:43:34.42 ID:rjzElph2 逆にrustだとどういう時に参照返しが必要になるの? http://mevius.5ch.net/test/read.cgi/tech/1656285423/980
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 22 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.022s