c++ - 模板如何导致 C++ 中的代码膨胀?

标签 c++ templates

我从来不理解模板的这个问题。对我来说,为不同类型的参数实例化多种类型的方法与在函数重载方面实现相同的方法相同。如果是这种情况,模板如何导致代码膨胀或超过二进制大小到某个限制。请澄清这一点。

有时我不确定是使用模板还是函数重载。模板代码膨胀是我听说过但从未理解的问题。

最佳答案

How does template cause the code bloat in C++?

代码膨胀的发生是因为编译器为每个使用它们的翻译单元中的所有模板函数生成代码。过去,重复的代码没有得到整合,这导致了“代码膨胀”。现在,可以在链接时删除重复代码。

关于c++ - 模板如何导致 C++ 中的代码膨胀?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24333345/

相关文章:

c++ - 使用双链表的电话簿

javascript - 使用 Algolia 进行 Hogan 模板化

c++ - C++ 强制转换重载运算符的问题

C++ 如何从函数返回一个数组?

c++ - 你的析构函数什么时候应该是虚拟的?

c++ - 条件 if 中类成员的范围

c++ - 如何从派生类访问模板参数?

c++ - 如何使用 C++ 模板高效地展开序列

c++ - 模板类中方法的部分特化

c++ - 无法调用结构内部的成员函数指针