我有个问题:
class B : public class A {
public:
vector<int*> vec;
};
class A {
};
vector<A*> vec_a;
vector<B*> vec_b;
如果我将一个类对象推回B
两个向量中。
B* b = new B;
vec_a.push_back(b);
vec_b.push_back(b);
然后在那之后,我改变了 class 对象内部的一些东西B
,
如:
int* i = ....
vec_b[0].push_back(i);
有vec_a
变化吗?
我对此感到困惑,因为我已经检查过当矢量 push_back 时,它只会创建一个副本。但是当我检查上面的代码时,它发生了变化。这两个向量是否拥有 object 的共享内存b
?
谢谢