これが偽のコードサンプルです
vector<Fred> gFred;
{
// init gFred
Fred &fred = gFred[0];
size_t z = 0;
do
{
fred = gFred[z];
// do odd processing with fred
z++;
}
while (fred.lastElementInSet == 0);
}
私の注意を引いたのは、gFred[0]が上書きされていたという事実でした。これにより、新しい要素への参照としてfredを初期化するのではなく、
fred = gFred[z];
実際に起こっていることは、gFred[1]がgFred[0]を上書きしているということです。
私はここで正しいことを考えています。私自身が数回頭を上げて、これをポインターの実装に変えて、私の人生を続けることです。
私はこれを正しく診断しましたか?または私はより多くの教育が必要ですか?