与此相关,我想知道是否有理由使用指向父对象的指针(不是在谈论父类)而不是引用。
显然,如果 parent 可以为 null,则引用将不起作用。但是,如果父对象在其生命周期内创建和销毁子对象,以使子对象返回其父对象的指针永远不会为空怎么办?我认为在这种情况下听起来不错,但是我还没有看到其他人这样做,并且仍在学习很多有关 C++ 的知识。
我正在考虑的具体情况是一个专门的对话框窗口,它只能由某个窗口类创建。
做什么有什么问题(如果有的话)
class Child {
Child(Parent& parent) : parent_(parent) {}
Parent& parent_;
};
相对
class Child {
Child(Parent* parent) : parent_(parent) {}
Parent* parent_;
};