c++ - 在 C++ 中,编译器如何处理对模板的调用?

标签 c++ templates

<分区>

当我们在 C++ 中调用模板函数时,我不明白编译器当时做了什么特殊工作,因为它能够识别我们调用该模板类的类,并且然后它会相应地自行解决。

最佳答案

答案可能取决于编译器类型。例如,在 gcc/clang 中有一种叫做两阶段查找的东西。但此功能并未在 Visual Studio 中实现。关于 SO 的另一篇文章给出了很好的解释:

Two phase lookup - explanation needed

也看看这篇文章:

c++ complier behaviour using template class

关于c++ - 在 C++ 中,编译器如何处理对模板的调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37382881/

相关文章:

c++ - 第二个参数在std::string myString {“Hello”, “World”}中做什么?

C++、mingw 和 clock_gettime 无法编译

c++ - 为什么不允许 double 作为非类型模板参数?

c++ - 导出模板功能

c++ - 语法糖 : automatically creating simple function objects

asp.net-mvc - 使用 ASP.NET MVC 作为电子邮件模板引擎 : Good Idea?

c++ - boost::hash<double> 在 RHEL 5.4 64 位上的奇怪行为

c++ - 在函数中销毁局部变量是什么意思

c++ - 最小化 C++ 中的重复代码,一个不那么简单的案例

javascript - 使用 Gulpjs 编译客户端 Jade 模板