我正在阅读有关模板的this教程,当涉及到功能模板时,我发现了这段代码和文本
template <class myType>
myType GetMax (myType a, myType b) {
return (a>b?a:b);
}
GetMax <int> (x,y);
当编译器遇到对模板函数的此调用时,它使用模板自动生成一个函数,该函数用作为实际模板参数(在本例中为int)传递的类型替换myType的每个外观,然后调用它。此过程由编译器自动执行,对程序员不可见。
那么在类模板的情况下实例化如何解决?那里的文档没有说明这个主题。这是否发生在
有人可以就这个话题说清楚吗
答案 0 :(得分:2)
当编译器发现你将它用于<int>
时,它将在编译时中实例化。 (其他一切都是编译器的具体实现)
在翻译单元中每个模板参数进行一次实例化。