在使用模板函数之前,模板代码不会被编译。但是编译后的代码保存在哪里,是保存在最初使用模板函数的目标文件中吗?
例如, main.cpp 是从文件 test.h 中调用一个模板函数,编译器生成一个目标文件 main.o, 模板函数在main.o文件里面吗?因为模板代码不是内联的,是吗?
最佳答案
它完全依赖于编译器实现。大多数编译器会围绕、内联或在类似 cpp 的文件中生成代码,然后使用它们进行编译。有时,通过优化设置,一些编译器甚至会重用相同的代码,而不是为每个 cpp 重新创建它。
因此您必须查看编译器的文档以获取更多详细信息。
关于c++ - 理解c++中模板的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2545731/