我们正在创建一套使用公共API的库,供不同的第三方使用。有些库是纯C的,所以显然它们有一个C风格的头文件,包含函数和结构体定义以及相应的库。他们都还好。有些库是用适度复杂的C++(针对较老的编译器)编写的,因此我们实现了某种形式的着名pimpl习语。这也没关系。如何使用模板实现发布头文件?
另一方面,头文件的一个重要部分是使用大量模板化代码的C++。知道Why can templates only be implemented in the header file?,但也不愿意透露过多的实施细节给眼睛谁不应该看到他们我们已经严重重构他们排除尽可能多的内部细节,只有真正必要的位...并且仍然有一个重要的剩余的代码量。
所以它困惑我:是否有一个首选的方式分发主要包含模板的头文件?那里有什么好的做法,最好的方法和技巧和窍门?
我不认为在这个问题上有一个强大的治疗。 – 101010 2014-09-03 12:06:50