PIMPL(指向實現的指標)慣用方式允許將公用介面與實作細節分開一個類,防止該類的使用者關心這些細節。 Qt 採用自己的 PIMPL 慣用法實現,記錄如下。
Qt 的基於 PIMPL 的介面如下所示:
這裡,Q_DECLARE_PRIVATE 巨集聲明 PIMPL 類別並提供存取它的必要機制。
PIMPL 類別CooperativeDialogPrivate 在實作檔案中定義:
Q_DECLARE_PRIVATE接口類別關聯起來。它產生 d_func() 輔助方法的內聯實現,該方法提供對具有適當常數的 PIMPL 的存取。 Q_PRIVATE_SLOT此巨集用於 Qt 4 相容性或針對非 C 11 時編譯器。它聲明了一個供內部使用的私有槽。 Q_DECLARE_PUBLICQ_DECLARE_PUBLIC 巨集提供從 PIMPL 存取介面的權限。它產生 q_func() 輔助方法的內聯實現,類似於 d_func()。
以上是如何在 C 中使用 Qt PIMPL 習慣用法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!