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