トップページ > プログラム > 2016年09月05日 > bW8nsrgc

書き込み順位&時間帯一覧

11 位/129 ID中時間01234567891011121314151617181920212223Total
書き込み数0000200000000000000000013



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
プログラミング言語 Rust

書き込みレス一覧

プログラミング言語 Rust
744 :デフォルトの名無しさん[sage]:2016/09/05(月) 04:26:39.10 ID:bW8nsrgc
手動メモリ管理した経験のある人間ならすぐ理解できる
だって今まで脳みそのなかでやってたことだもん
GC付き言語しかまともに使ったことないなら丸きり新概念だろうけど
プログラミング言語 Rust
745 :デフォルトの名無しさん[sage]:2016/09/05(月) 04:46:12.11 ID:bW8nsrgc
メモリ管理の素養がないと、あの難解なコンパイルエラーしか手がかりがないので挫折すると思う
コードを見て「そりゃ動かんわな」と分かると話が早い

まあどのみち、一旦飲み込めれば
実際のコーディング時にはそこまで頭を悩ませないものだよ
プログラミング言語 Rust
754 :デフォルトの名無しさん[sage]:2016/09/05(月) 23:12:42.80 ID:bW8nsrgc
この言語、自前でデータ構造書くのは所有権に慣れるいい方法とはいえない
ある程度理解してからこういうチュートリアル片手に挑戦してみるといい
http://cglab.ca/~abeinges/blah/too-many-lists/book/

>>751
木構造とかよく分からないんだがこんな感じかな
https://play.rust-lang.org/?gist=127694a578c60aa5481e7eb40fddac50
使う時は let new_node = node.rotate_l();
&mut selfがmut selfになってるのに注意
前者だと呼び出し元がselfを所有しているので、メソッド内でムーブできない

あるいは、&mut selfなメソッドが良いなら
https://play.rust-lang.org/?gist=729d6a8207ea6b996ec4fdba8247efbe
Option型のtake()メソッドはOptionをNoneで上書きして中身を返す関数
所有していないselfをムーブすることは出来ないけど、&mutなので書き換えるのは自由

どちらもマシン語の段階では同等になる筈だから状況や好みに応じてどうぞ


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。