C++ vs Rust
■ このスレッドは過去ログ倉庫に格納されています
2021/04/24(土) 08:04:49.48ID:nPKzA798
競え
2021/04/24(土) 09:03:31.43ID:CqGuC/ho
何で?
2021/04/24(土) 09:10:09.42ID:MAG7Rri7
どちらも変なプライド拗らせたアホしかいない印象
4デフォルトの名無しさん
2021/04/24(土) 10:50:18.68ID:N1eYD/7j C++: カミソリ
Rust: 安全カミソリ
Rust: 安全カミソリ
2021/04/24(土) 11:18:00.79ID:gMqF1SGc
別に〜
裏方一緒だし
裏方一緒だし
2021/04/25(日) 11:37:52.88ID:vJWG11Gh
一概にどちらが優れているとは言えないことではあるが、
代入やコンストラクタが、moveとcopyのどちらになるかについて、Rustの
方が自動化が進んでいると思いがちだが、実際は、
C++は、関数の戻り値が構造体型/クラス型になっている場合に関しては
RVO(Return Value Optimization)が働き、右辺が
クラス名(実引数列)
の形式の一時オブジェクトである場合には、moveが選ばれるが、それ以外は、
概ねcopyになるので、ある意味では「自動選択」しているのに対し、
Rustでは、x = y と書いた場合、原則的には「デフォルトmove」の規則に
従い、copyしたい場合は、右辺をy.clone()と書くことになっていて、
「手動選択」を採用している。
C++は、どう書いた場合にmoveになり、どう書いた場合にcopyになるかを全て把握するのは
難しくて、C++の仕様が勉強不足だと勘違いや見落としが発生する可能性があるのに対し、
Rust方式は、moveとcopyのどちらになるかが明確なので混乱が少ないと言えるかも知れない。
つまり、このことに関しては、児童選択より手動選択の方が安心感があるかも知れない。
意見を求む。
代入やコンストラクタが、moveとcopyのどちらになるかについて、Rustの
方が自動化が進んでいると思いがちだが、実際は、
C++は、関数の戻り値が構造体型/クラス型になっている場合に関しては
RVO(Return Value Optimization)が働き、右辺が
クラス名(実引数列)
の形式の一時オブジェクトである場合には、moveが選ばれるが、それ以外は、
概ねcopyになるので、ある意味では「自動選択」しているのに対し、
Rustでは、x = y と書いた場合、原則的には「デフォルトmove」の規則に
従い、copyしたい場合は、右辺をy.clone()と書くことになっていて、
「手動選択」を採用している。
C++は、どう書いた場合にmoveになり、どう書いた場合にcopyになるかを全て把握するのは
難しくて、C++の仕様が勉強不足だと勘違いや見落としが発生する可能性があるのに対し、
Rust方式は、moveとcopyのどちらになるかが明確なので混乱が少ないと言えるかも知れない。
つまり、このことに関しては、児童選択より手動選択の方が安心感があるかも知れない。
意見を求む。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- れいわ議員「母親はね、子どもを戦争に行かせるために産んだんじゃないんだよ」 高市総理に“10秒回答”迫り、残り5分は“独壇場”★3 [♪♪♪★]
- BreakingDown選手がくも膜下出血、瓜田純士、平手打ちを行った江口響は「もう格闘技も辞めます。責任取りたいです』とまで言ってきてる」 [muffin★]
- フィンランド、ミスや国会議員つり目投稿 くり返されるアジア人差別 ★4 [蚤の市★]
- 【テレビ】TBS系『ゴゴスマ』 司会もコメンテーターも総出で田久保前市長を嘲笑… 「いじめそのもの」一部視聴者から不快感 [冬月記者★]
- 【令和】「ゲーム機にスペックは必要かどうか」議論が白熱 ユーザーが実際に求めているものは? [王子★]
- 【赤坂サウナ店火事】死亡男女は川崎市在住の夫婦 ドアノブ内側も外側も外れ、閉じ込められたか [ぐれ★]
