模板类头文件包含声明和方法实现。那么,有没有理由将它们放在库或DLL中,而不仅仅是分发头文件?我的意思是任何想要实例化模板类的外部程序都必须包含该模板类的头文件,并且模板代码将被编译成程序自己的对象模块的一部分,以便任何代码在库是不必要的。 如果模板代码调用某些特殊库或通过专门化任何模板创建具体类,我可以看到将它们放在库中的原因。 我错过了什么吗? 谢谢 Akwins。
答案 0 :(得分:4)
如果你的标题只是模板,那么它们很可能根本不会编译成二进制DLL。
有关具有许多仅标头库(http://www.boost.org/)的C ++工具包的示例,请参阅Boost