c++ - 在 C++ 中使用模板时,编译器如何知道要实例化多少数据类型?

标签 c++ templates compilation low-level

我刚开始学习模板。编译器如何知道需要哪些数据类型?有人可以解释编译器如何处理和使用模板吗?

最佳答案

它基于实际实例化。如果您实际上使用您的模板之一(以及任何给定的参数集)在对象上声明,那么将生成代码。一个体面的编译器会为你使用的配置生成代码,而不会为你不使用的配置生成代码。我希望这能充分解释它。

关于c++ - 在 C++ 中使用模板时,编译器如何知道要实例化多少数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31011074/

相关文章:

c++ - std::sort 中的 SIGSEGV,如何缩小范围

javascript - 是否可以避免使用 Django 和 Backbone.js 双模板?

安卓 4.4.2。编译错误(wpa_supplicant_8)

dart - 为什么我们应该避免像 Dart 一样

c++ - 是否可以根据约束 "overload"别名模板?

Java编译行为

c++ - 32kB的编译代码是多少

c++ - 如何在 C++ 中用大小初始化 3 维 vector

c++ - Windows 上的快速计数信号量?

c++ - undefined reference ... : inheritance from a template class