質問があります:
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の場合、コピーのみが作成されることを確認したので、私はそれと混同しています。しかし、上記のコードで確認すると、変更されます。2 つのベクトルは object の共有メモリを保持していますb
か?
ありがとう