トップページ > プログラム > 2015年01月02日 > rZN9ITIb

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

10 位/171 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000004000000000004



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
【初心者歓迎】C/C++室 Ver.94【環境依存OK】 [転載禁止]©2ch.net

書き込みレス一覧

【初心者歓迎】C/C++室 Ver.94【環境依存OK】 [転載禁止]©2ch.net
463 :デフォルトの名無しさん[sage]:2015/01/02(金) 12:15:58.38 ID:rZN9ITIb
横からだけど
他の関数の戻り値を、変数に格納せずにダイレクトに他の関数の引数にした場合
ムーブしてくれるものだと勝手に思っていたが・・・
【初心者歓迎】C/C++室 Ver.94【環境依存OK】 [転載禁止]©2ch.net
464 :デフォルトの名無しさん[sage]:2015/01/02(金) 12:25:04.99 ID:rZN9ITIb
http://ideone.com/WQcvtX
不足のありそうなテストコードだけど
関数の戻り値を直接でも右辺値参照のオーバーロードが動くみたいよ
こういう話じゃなかったらスマン
【初心者歓迎】C/C++室 Ver.94【環境依存OK】 [転載禁止]©2ch.net
466 :デフォルトの名無しさん[sage]:2015/01/02(金) 12:43:51.36 ID:rZN9ITIb
処理を一つ一つ追ってみるといいよ
もし a < b だった時には、 a%b の値( a を b で割った余り)は a そのものになるから
再帰呼び出し gcd(b, a%b) の部分は実質的に gcd(b, a) になって
2段目に呼び出された gcd() の中では、a(元b) < b(元a) になる。

大小判定を入れても動作に問題は無いけど、せいぜい再帰の段数が1個減るぐらいで
入れても殆ど無意味だと思う・・・
【初心者歓迎】C/C++室 Ver.94【環境依存OK】 [転載禁止]©2ch.net
467 :デフォルトの名無しさん[sage]:2015/01/02(金) 12:47:15.45 ID:rZN9ITIb
× 2段目に呼び出された gcd() の中では、a(元b) < b(元a) になる。
○ 2段目に呼び出された gcd() の中では、a(元b) > b(元a) になる。
だった。


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