我在C++中創建一個靜態庫來定義其他人可以在其代碼中使用的類。但是,該類的成員是從其他人獲得的頭文件中定義的類型,我不想分發此人的頭文件的內容。隱藏第三方C++頭文件的內容
這是目前公開的接口(interface.h):
class B {
TypeToHide t;
// other stuff ...
};
class A {
double foo();
B b;
};
這裏是(code.cpp)將被編譯成一個靜態庫的代碼:
double A::foo() {
// ...
}
而且這裏是我需要隱藏的公共視圖(HideMe.h)的文件:
struct TypeToHide {
// stuff to hide
};
我能做些什麼隱藏公司HideMe.h的幾個?理想情況下,我可以將整個結構從HideMe.h粘貼到code.cpp中。
好的,所以使用PIMPL慣用法或多或少是處理這種情況的標準方式? – synaptik
@synaptik是... –
工程就像一個魅力(當然)。 – synaptik