Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/132.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 模板类库_C++_Templates - Fatal编程技术网

C++ 模板类库

C++ 模板类库,c++,templates,C++,Templates,模板类头文件包含声明和方法实现。那么,是否有任何理由将它们放在库或DLL中,而不是仅仅分发头文件?我的意思是,任何想要实例化模板类的外部程序都必须包含该模板类的头文件,并且模板代码将被编译成程序自己的对象模块的一部分,因此库中的任何代码都是不必要的。 如果模板代码调用一些特殊的库,或者通过专门化任何模板来创建具体的类,我可以理解将它们放入库中的原因。 我错过什么了吗? 谢谢 Akwins。如果您的头文件只是模板,那么它们很可能根本不会编译成二进制DLL 见一个C++工具包的例子,它有许多头文件库

模板类头文件包含声明和方法实现。那么,是否有任何理由将它们放在库或DLL中,而不是仅仅分发头文件?我的意思是,任何想要实例化模板类的外部程序都必须包含该模板类的头文件,并且模板代码将被编译成程序自己的对象模块的一部分,因此库中的任何代码都是不必要的。 如果模板代码调用一些特殊的库,或者通过专门化任何模板来创建具体的类,我可以理解将它们放入库中的原因。 我错过什么了吗? 谢谢
Akwins。

如果您的头文件只是模板,那么它们很可能根本不会编译成二进制DLL


见一个C++工具包的例子,它有许多头文件库()

如果你的头是模板,那么他们根本不会编译成二进制的DLL。

见一个C++工具包的例子,它有许多头文件库()

只分发头文件库是完全可以的。如果它只是模板类,则永远不会创建DLL……不仅不会创建DLL,如果它真的只是头,就没有编译代码!只分发头库是完全可以的。如果它只是一个模板类,就永远不会创建dll…不仅永远不会创建dll,如果它真的只是头,就没有代码可编译!