4
在經歷Qt代碼時,我對pimpl的實現有了這個基本問題。 以QWidget實現爲例。來自QObject的QT pimpl繼承
QWidget ---inherits---> QObject
| |
contains contains
| |
\/ \/
QWidgetPrivate ---inherits---> QObjectPrivate
現在QWidget有兩個QObjectPrivate實例(通過繼承和通過包含)。 爲什麼以這種方式完成實現?擁有同一個對象的兩個實例不是一個開銷嗎?