gpt4 book ai didi

c++ - 当我们将特定类型传递给类模板时生成类

转载 作者:行者123 更新时间:2023-11-30 04:13:38 26 4
gpt4 key购买 nike

我正在阅读 this关于模板的教程,当涉及到函数模板时,我发现了这段代码和文本

template <class myType>
myType GetMax (myType a, myType b) {
return (a>b?a:b);
}

GetMax <int> (x,y);

When the compiler encounters this call to a template function, it uses the template to automatically generate a function replacing each appearance of myType by the type passed as the actual template parameter (int in this case) and then calls it. This process is automatically performed by the compiler and is invisible to the programmer.

那么在类模板的情况下实例化是如何进行的呢?那里的文档没有说明这个话题。发生在什么时候

  1. 我创建对象
  2. 第一次调用函数
  3. 每次调用该函数

谁能解释一下这个话题

最佳答案

当编译器发现您将它用于 <int> 时,它将在编译时 被实例化。 . (其他一切都是编译器的具体实现)

在翻译单元中每个模板参数实例化一次。

关于c++ - 当我们将特定类型传递给类模板时生成类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19355663/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com