Re:Re:Re:Re: | spin on the RITZ

Re:Re:Re:Re:

昨日一昨日わかったようなわかってないような演算子オーバーロードについてなんですが、実は授業の先生にメールで質問していましたとさ。



自分の予想では

「一時変数を参照するときはconst T&型にしなさい。そーゆー仕様です

そーしないと色々と困ります。スコープとか」

ってな感じだと思ってましたけど


先生の返答では

C++ の仕様では本来、一時的なオブジェクトを const 指定なしで参照する
ことは禁止されており、これが問題になっていると思います。

とのこと。


一緒じゃん!メールする必要なかったじゃん!


お手を煩わせて誠に申し訳ありませんでしたorz




だって、気づいたのメール出した後だったんだもん。




ちなみに、VisualStudioかなんかではconst指定しなくても良いそうです。This is 曖昧.

g++の方が一応仕様通りにやってくれていたようですね。だってさ。




まぁ、こんどはコピーコンストラクタのことで問題が増えたわけなんですがね


それはまた、別の話


追記:

別の話にしようと思ったけど、すぐに解決しました。

コピーコンストラクタの引数はconst参照だから、コピーコンストラクタが呼び出されるわけないよねそりゃ。

コピーコンストラクタでコピーコンストラクタが呼ばれるなんていうお粗末なことは起きませんよってこった。