トップページ > プログラム > 2015年10月30日 > AF8Cyymv

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

17 位/171 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000013000000004



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
C++相談室 part120 [転載禁止]©2ch.net

書き込みレス一覧

C++相談室 part120 [転載禁止]©2ch.net
221 :デフォルトの名無しさん[]:2015/10/30(金) 14:47:05.92 ID:AF8Cyymv
effective modern c++読んでるんだが完全転送の辺りが難しすぎる
読んでて理解はできるけどいざというときに自分で正しく書ける気がしない

この辺はどういう動機で仕様が決定されてきたの?
こんな感じ?

ポインタ渡しを排除したい、Cにはない参照の概念を導入(C++98?)

それだと型推論でオブジェクトを渡してコンテナに詰める時に最適化の不都合があった

ムーブセマンティクスや完全転送という概念を導入してなんとか対処しようとした

という流れなんですか?
C++相談室 part120 [転載禁止]©2ch.net
222 :デフォルトの名無しさん[]:2015/10/30(金) 15:01:12.65 ID:AF8Cyymv
c++の素人的には
ポインタを表舞台から排除しようとして
コピーのコストを減らすためにmoveや
ユニバーサル参照やテンプレートに対応できるようにforwardを用意したけど
そうやって辻褄を合わせていったら結果として複雑怪奇な物になってしまって
これならポインタ使って書いたほうが人間に分かりやすいんじゃ…という風に見えるんだけど
プロからすると違うんでしょうか?
C++相談室 part120 [転載禁止]©2ch.net
223 :デフォルトの名無しさん[]:2015/10/30(金) 15:09:22.99 ID:AF8Cyymv
連レスすみません

C++11はオブジェクトを扱うあらゆる所で「どのコンストラクタが呼ばれるか」ってのを意識しないとまともなコードがかけなくて
しかしそのコンストラクタってのがデフォで暗黙的に6種類も生成される!(困ったことにとある条件で生成されない場合もある)
その6種類のコンストラクタに加えてユニバーサル参照を取るコンストラクタなんかがあると
それらのうちどれが呼ばれるか、その優先度を意識しないといけない
しかもその優先度ってのが、effective modern C++を読む限り、大抵の人間の直観に反している

これ無理ゲーじゃね…?という気がしてるんですがどうなんですか
頭のいい人の仕事とは思えない
C++相談室 part120 [転載禁止]©2ch.net
225 :デフォルトの名無しさん[]:2015/10/30(金) 15:15:40.79 ID:AF8Cyymv
6種じゃなくて5種ですねスマソ


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