与没有模板的代码相比,编译并链接到 PE 中的模板代码是否会增加大小?我认为使用的每个模板实例都是有序打包的,因此如果需要,它会更快地输出匹配项。
很抱歉这个问题我对模板不太了解。
最佳答案
C++工作原理:
按使用量付费。
模板代码仅为您使用/实例化的代码创建二进制文件。
仅仅因为您针对具有数百个 STL 容器的标准库进行编译,并不意味着您的目标代码包含所有这些容器,它只包含您使用的那些。
模板实现编译时多态性。为您使用不同数据类型进行的每个实例化创建模板函数的拷贝,模板类也是如此。此代码进一步编译以创建二进制文件。因此二进制文件的大小不会比没有模板的代码产生的大。
关于c++ - 模板和可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7037092/