ここ オブジェクトを配列、リスト、またはマップの参照としてどのように格納することができますか?
class Bird{
public:
int a;
};
void fn(Bird& obj){
Bird& arrayList[5];
arrayList[0] = obj;
arrayList[0].a = 10;
}
ArrayListの中の任意の更新は マイ要件がobjオブジェクトのコピーを停止することであるOBJオブジェクトに反映されない配列
の例を取ることができます。 arraylistはobjを参照する必要があります。Plsのは、あなたが参照の配列を持つことができない鳥
あなたはなぜあなたがこれをしたいのかを説明する必要があります(例はばかげています。なぜなら、最初の要素にアクセスしたときに配列を持つ理由)。参照を初期化するだけで、割り当てられないので(質問は参照ではなく参照されたオブジェクトに割り当てられます)、疑問を抱いているので、おそらく不可能です。 –
ポインタはこの目的のために正確に設計されています。もちろん、生のポインタ( 'Bird *'のような)を使うとき、オブジェクト所有ポリシーは、オブジェクト(ポインタを保持したまま)が存在することを確認する必要があります。共有の所有権が必要な場合は、(boost :: shared_ptr 'のような)スマートなポインタが必要です。ポインタを使用しない理由は何ですか? –