我们正在创建一组带有公共API的库,这些库将由不同的第三方使用。其中一些库是纯C的,因此它们具有C风格的头文件,包括函数和结构定义以及相应的库。这些都没问题。
另一些库使用了中等复杂度的C++(针对较旧的编译器),因此我们实现了某种形式的著名pimpl惯用语法。这也没问题。
另一方面,重要部分的头文件是C++,使用了大量模板化代码。虽然知道为什么模板只能在头文件中实现?,但也不愿意向不应该看到它们的人透露太多的实现细节,因此我们进行了大量的重构,尽可能地排除了内部细节,只保留了真正必要的部分...但仍然有相当数量的代码剩余。
所以我感到困惑:是否有首选的分发大量包含模板的头文件的方法?有哪些最佳实践、最佳方法、技巧和窍门?
另一些库使用了中等复杂度的C++(针对较旧的编译器),因此我们实现了某种形式的著名pimpl惯用语法。这也没问题。
另一方面,重要部分的头文件是C++,使用了大量模板化代码。虽然知道为什么模板只能在头文件中实现?,但也不愿意向不应该看到它们的人透露太多的实现细节,因此我们进行了大量的重构,尽可能地排除了内部细节,只保留了真正必要的部分...但仍然有相当数量的代码剩余。
所以我感到困惑:是否有首选的分发大量包含模板的头文件的方法?有哪些最佳实践、最佳方法、技巧和窍门?