模板类成员函数实例化

用户名

标准N4296::14.7.1/1说:

类模板专门化的隐式实例化导致声明的隐式实例化,而不是类成员函数,成员类,作用域成员枚举,静态数据成员和成员模板的定义,默认参数或异常规范的隐式实例化;

然后让我们考虑以下代码:

template <class T>
class A
{
    void foo(){ }
};

A<int> a; //Implicit instantiation here

int main(){ }

因此,当模板被隐式实例化时,它实际上是在没有任何成员函数的类中实例化的,因为我们没有使用过它。是真的吗

艾伦·斯托克斯

该类具有一个已声明但尚未定义的成员函数。

非模板类也允许这样做。(非虚拟)成员函数仅在使用时需要定义。

因此,在您的模板中,函数声明在实例化时必须有效,但函数主体尚不起作用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

模板类中的模板成员函数专门化

实例化类时是否实例化了类模板的成员?

成员函数实例化

类模板的静态成员是否隐式实例化?

强制模板成员函数实例化

使用模板化返回类型实例化虚拟成员函数

在模板类中实例化嵌套模板函数

使用SFINAE选择性地实例化模板的成员函数

类模板的条件无效成员函数(隐式实例化;显式实例化失败)

尽管存在显式实例化,但类模板的成员函数模板找不到定义。不连结

使用模板化构造函数实例化非模板类

在CPP文件中使用IMPLICIT实例化而不是.H来为类成员函数放置C ++模板定义?

模板化类构造函数的模板实例化

类模板的成员函数的显式实例化声明是否导致类模板的实例化?

强制实例化所有模板类成员函数

如何删除成员函数模板的实例化?

模板类的实例化对象上的C ++模板元函数

模板类的成员函数

模板类-成员函数专门化

跨DLL的C ++成员函数显式模板实例化

如果从不调用类模板的成员函数,是否不会实例化?

模板类成员函数的专业化

模板:使用类类型的成员实例化对象

静态模板成员函数的实例化?

实例化类型模板类的非类型模板成员函数

什么时候实例化模板类的成员函数?

你如何专门化模板类中的成员函数?

使用参数实例化模板类的类成员的正确方法

无法在模板类的成员模板函数中构造模板类的实例