c++ - 理解c++中模板的问题

标签 c++ templates compiler-construction

在使用模板函数之前,模板代码不会被编译。但是编译后的代码保存在哪里,是保存在最初使用模板函数的目标文件中吗?

例如, main.cpp 是从文件 test.h 中调用一个模板函数,编译器生成一个目标文件 main.o, 模板函数在main.o文件里面吗?因为模板代码不是内联的,是吗?

最佳答案

它完全依赖于编译器实现。大多数编译器会围绕、内联或在类似 cpp 的文件中生成代码,然后使用它们进行编译。有时,通过优化设置,一些编译器甚至会重用相同的代码,而不是为每个 cpp 重新创建它。

因此您必须查看编译器的文档以获取更多详细信息。

关于c++ - 理解c++中模板的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2545731/

相关文章:

c++ - Qt SOAP安装

c++ - 不调用部分专用模板类(用于容器类类型)

c++ - 如何在用户自定义命名空间的成员函数中引用指针**environ?

c - 大 int 编译器实现?

c++ - 如何将 ostream 转换为 basic_ostream<unsigned char>?

c# - Serial port write究竟是如何从缓冲区写入数据的呢?

c++ - Armadillo ,如何增长 vector 并获得他的大小?

templates - Go 模板示例

c++ - 为嵌套容器制作模板函数

c++ - "g++"和 "c++"编译器