私は、そのオブジェクトの戻り値の型を持つ関数内のオブジェクトへの参照を返すときに、何が起こるのかを明確にしたいと考えています。C++:参照で値を返す
は、次の関数考えてみます。
CObject getObject() {
CObject localObject;
CObject &objectRef(localObject);
return objectRef;
}
を「localObjectに」への参照を返すとは対照的に、この関数は、「localObjectに」のコピーを返すことを私の理解です。これは正しいです?基本的には、localObjectをコンストラクタパラメータとして使用して新しいオブジェクトを作成して返しますか? 例えば、
CObject newObject(localObject);
ヒープ上のスタックを実行する... –
ヒープが必要な場合は、ヒープを実行してください。 –