【发布时间】:2014-10-27 22:10:34
【问题描述】:
我们正在创建一组具有公共 API 的库,供不同的第三方使用。有些库是纯 C 的,所以很明显它们有一个 C 风格的标头,其中包含函数和结构定义以及相应的库。他们没事。
一些库是使用中等复杂的 C++ 编写的(针对较旧的编译器),因此我们实现了某种形式的著名 pimpl 习惯用法。这也可以。
另一方面,头文件的重要部分是使用大量模板代码的 C++。知道Why can templates only be implemented in the header file?,但也不愿意向不应该看到它们的人透露太多的实现细节,我们已经对它们进行了大量重构,以排除尽可能多的内部细节,并且只有真正必要的部分......并且仍然存在剩下大量代码。
这让我很困惑:有没有一种首选的方式来分发主要包含模板的头文件?有哪些好的做法、最佳方法以及提示和技巧?
【问题讨论】:
-
我认为在这个问题上没有强有力的处理方法。
标签: c++ templates header software-distribution