我有一些C++庫,爲其客戶端提供本地C API。事實上,這個庫是身邊的一些類實例和API調用應該用相同的類實例操作的包裝,使用它的公共接口,例如:避免C++庫中的全局對象
// library API, using class methods internally
MYDLL_API uint8_t __stdcall init();
MYDLL_API uint8_t __stdcall release();
MYDLL_API uint8_t __stdcall setSomething();
MYDLL_API uint8_t __stdcall doSomething();
// some inernal class
class Foo{
public:
void setSomething();
void doSomething();
private
// some state
};
提供所有API的唯一方法調用與工作能力同樣的Foo
實例我看到的是使用這個類的全局實例,單例可能。我想避免使用全局變量,它怎麼能達到?