我想知道基类是否可以在其派生类内部存储对对象的引用。
struct Base {
std::vector<int>& vec;
Base(std::vector<int>& in) : vec {in} {}
}
struct Derived : Base {
std::vector<int> vec_on_derived;
Derived() : Base {vec_on_derived} {} // is this ok?
}
我对对象的生存期感到困惑。在这种情况下,当创建类型为Derived
的对象时,将在派生类之前构造基类。如果我传递了一个属于派生类的向量,是否会因为尚未创建而出现任何问题?