如何从第三方lib保持全局命名空间清洁

时间:2016-09-16 14:48:29

标签: c++

我在C ++上做zlib包装器库。

我的zlib类的头文件如下所示:

#include <zlib.h>

class ZLibCompressor{
protected:
    z_stream zs;
};

我可以在目标文件中实现所有内容,但是我需要在类中包含z_stream作为类成员。

为了能够访问它,我需要包含&#34; zlib.h&#34;。

如果我包含&#34; zlib.h&#34;,它将会污染&#34;污染&#34;具有大量常量的全局命名空间等等,例如Z_OK和许多其他命令。

我能想象的唯一解决方案是像void *这样的pimpl来分配z_stream

但是,如果我这样做,我的代码将变得更加缓慢,我希望这个成员加入类的唯一原因是我可以更好地重用z_stream句柄。

0 个答案:

没有答案