與this相關,我想知道是否有理由使用指向父對象(而不是談論父類)的指針而不是引用。讓子對象有一個對其父對象的引用而不是指針是不好的做法嗎?
顯然,如果父項可以爲null,則引用將不起作用。但是,如果父對象在其生命週期中創建並銷燬子對象,以便子對象的指針返回其父對象將永遠不會爲空?我認爲在這種情況下聽起來沒問題,但我還沒有看到別人這樣做,並且仍然在學習很多關於C++的知識。
我想到的具體情況是一個專門的對話窗口,它只會被某個窗口類創建。
有哪些問題(如果有的話)做
class Child {
Child(Parent& parent) : parent_(parent) {}
Parent& parent_;
};
與
class Child {
Child(Parent* parent) : parent_(parent) {}
Parent* parent_;
};
使用指針時,更改父項也會更容易/更清晰。 –