【发布时间】:2013-07-07 10:20:34
【问题描述】:
我写了一个库(不管它做什么),它显然有它的头文件。现在,我想隐藏那个头文件的私有元素,所以如果我将我的库提供给某人,他/她应该只看到公共成员(最好没有类定义,除了函数定义之外什么都没有)。一种方法是创建 C 风格的标头,其中将包含某种“init”方法,该方法将用于创建库的实际类的实例,并且用户必须将该对象的指针传递给每个函数以做这项工作。
这是一个好习惯吗?
还有其他公开接受的方式来做类似的事情吗?
提前致谢。
【问题讨论】:
-
看起来你可以使用 Pimpl 成语。但是无论你最终使用什么方法,你都需要知道隐藏实现会带来性能问题(编译器不能内联太多)。
标签: c++ shared-libraries static-libraries