我有一些代码,如下所示:
MyClass* a = new MyClass();
vector[0] = *a;
MyClass KeepCopy = vector[0];
//
//
vector gets changed
//
//
return KeepCopy
现在vector去做很多事情,然后被覆盖。但是,我希望在函数末尾返回KeepCopy的值。然而,由于向量[0]没有指向其他东西,我认为我被返回了错误的数据。
编辑3:好的,事情就是这样。KeepCopy被分配给vector[0],然后在代码中我对vector[0]做了一些事情。我原以为KeepCopy仍然指向vector[0]的一个版本,但KeepCopy似乎只包含赋值时的值的副本。
稍后,我将vector分配给另一个vector对象(我一次读取两行文本文件,vector包含一行,另一个vector对象包含第二行)。我如何确保KeepCopy指向原始的vector[0]元素(在我开始解析文本文件中的每一行,重新分配向量之前)?