次のようなコードがあります。
MyClass* a = new MyClass();
vector[0] = *a;
MyClass KeepCopy = vector[0];
//
//
vector gets changed
//
//
return KeepCopy
これで vector が実行され、多くの処理が行われ、オーバーライドされます。ただし、関数の最後に KeepCopy の値を返したいと考えています。ただし、 vector[0] は他の何かを指していないため、間違ったデータが返されていると思います。
EDIT3:これが起こっていることです。KeepCopy は vector[0] に割り当てられ、コードで vector[0] に詰め込みます。KeepCopy はまだ vector[0] のバージョンを指していると考えていましたが、KeepCopy には、割り当てが行われた時点での値のコピーしか含まれていないようです。
後で、ベクターを別のベクター オブジェクトに割り当てます (一度に 2 行のテキスト ファイルを読み込んでいます。ベクターには 1 行が含まれ、この別のベクター オブジェクトには 2 行目が含まれます)。KeepCopy が元の vector[0] 要素を指していることを確認するにはどうすればよいですか (テキスト ファイルの各行の解析を開始して、ベクトルを再割り当てする前に)。