實作指標 (PIMPL) 慣用法會向函式庫使用者屏蔽實作細節和資料。使用此習慣用法時,通常的做法是在 PIMPL 類別而不是公共類別中定義公共方法。這就提出了一個問題:為什麼不直接實作公共類別中的方法?
考慮以下 PIMPL 實作:
#include "cat.h" #include "cat_impl.h" Cat::Cat() { cat_ = new CatImpl; } Cat::~Cat() { delete cat_; } Cat::Purr(){ cat_->Purr(); }
在此範例中,公用類別 Cat 充當「外觀」 " 對於 PIMPL 類別 CatImpl,它保存 Purr() 方法的實際實作。PIMPL習慣用法有幾個優點:
以上是為什麼在實作類別中使用帶有公共方法的 PIMPL 習慣用法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!