- 【初心者歓迎】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) になる。 だった。
|