与this相关,我想知道是否有理由使用指向父对象(而不是谈论父类)的指针而不是引用。让子对象有一个对其父对象的引用而不是指针是不好的做法吗?
显然,如果父项可以为null,则引用将不起作用。但是,如果父对象在其生命周期中创建并销毁子对象,以便子对象的指针返回其父对象将永远不会为空?我认为在这种情况下听起来没问题,但我还没有看到别人这样做,并且仍然在学习很多关于C++的知识。
我想到的具体情况是一个专门的对话窗口,它只会被某个窗口类创建。
有哪些问题(如果有的话)做
class Child {
Child(Parent& parent) : parent_(parent) {}
Parent& parent_;
};
与
class Child {
Child(Parent* parent) : parent_(parent) {}
Parent* parent_;
};
使用指针时,更改父项也会更容易/更清晰。 –