コンストラクタがオブジェクトへの定数参照を受け取り、それをローカルに格納するクラスを記述する必要があります。C++:non-temporary const reference
ほとんどの一般的な間違いを避けるために、非一時的な参照(例:左辺値の参照)のみを受け入れたいと思います。
非一時的なもののみを参照する関数を作成するにはどうすればよいですか?もちろん
も、非一時的には、スコープの外に出るので、私のクラスの振る舞いを破るが、私は一時的な参照を許可しないことで、私が最も間違いを避けるためになると信じている可能性があります。
なぜこのようなほとんどの間違いを避けると思いますか? –
さて、リファレンスを渡す必要があるオブジェクトは、インスタンス化された後に使用する必要はありません(つまり、オブジェクトをインスタンス化して渡すので、コード・スタイルのためスタック上でインスタンス化しません)。他のクラスのコンストラクタが_permanent_値を必要とし、一時的に拒否された(つまり、コンパイルされた時間エラー)ということを覚えていることを忘れてしまったら、私は願っています。 – peoro