我有一些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
实例我看到的是使用这个类的全局实例,单例可能。我想避免使用全局变量,它怎么能达到?