2016-05-14 8 views
0

私はC++を新しくしてこのようなことを達成したいと思っていますが、期待通りに機能しません。C++変数内のオブジェクトの参照を保存する

Object& object = Object(); 

私は参照私は、変数objectで作成したオブジェクトを保存したいです。
どうすればよいですか?ありがとう。

編集: オブジェクトへの参照を別のオブジェクトのコンストラクタに渡そうとしています。メモリをあまり持っていないarduinoのコードなので、リファレンス(またはポインタ?)でなければなりません。

+5

あなたはそれを行うことはできませんが、多分あなたは、あなたが本当に人々が代替案を提案することができるかもしれません必要なものを指定した場合:あなたは、単にオブジェクトを格納されてやりたいかもしれないもの

。 – juanchopanza

+2

'Object o;'、 'Object&o_ref = o;' – ArchbishopOfBanterbury

+0

あなたは 'Object && object = Object();'が必要です。疑問があるときは、句読点を二重にしてください。 –

答えて

3

参照によって変数を保存するには、2つの法的な方法があります。

// o1 is const 
const Object& o1 = Object(); 

// o2 is mutable 
Object&& o2 = Object(); 

は限り参照がスコープ内にあるとして生きオブジェクトを保持し、C++の中で特別なルールがあります。

Object o = Object(); 
+0

オブジェクトを変数に格納し、それを渡す必要があるすべてのコンストラクタに渡すことができます。Object &o? – Jochim

+0

@ Jochim 'const Object&'または 'Object&'引数を取るように渡しているコンストラクタの場合は、 'Object'インスタンスを渡すだけです。 – ArchbishopOfBanterbury

+0

@Jochim関数が(非const)オブジェクトへの参照を期待している場合、それはその値を変更する可能性があることを意味します。しかし、それはオブジェクトインスタンスをオブジェクトと引数に渡すことができないことを意味しません。 – Quest

関連する問題