参照による一時オブジェクトと引数を持つルール
質問
私はクラスを持っていると言います
class A
{
public:
A() {}
};
と機能:
void x(const A & s) {}
と私が行います。
x(A());
誰かが私を参照することにより、一時的なオブジェクトを渡すことに関するルールを説明してくださいだろうか?コンパイラが暗黙のコピーが遊ん等から、発生した場合は、constの必要な場所、ことができますどのような面では、あなたが理にかなっているのconstを必要とするように思えるが、このすべてについて、正式なルールがあるのでしょうか?
ありがとうございます。
解決
C ++標準(セクション13.3.3.1.4あなたが興味を持っている場合)、一時的にのみconst参照にバインドできると述べている - -
正式なルールがありますが、コンパイラがなければならない非const参照を使用しようとした場合エラーとしてフラグこれを
他のヒント
ハーブサッターここでそれを説明する細かい仕事をしていません: http://www.gotw.ca /gotw/081.htmする
X()一時Aにconst参照を取らなければならないか、Xが()Aによって値を取る必要があります。
所属していません StackOverflow