【发布时间】:2015-09-22 02:38:48
【问题描述】:
This thread 确实很有帮助,但我仍然有关于这个过程的问题似乎没有得到解答。
我必须在多大程度上显式实例化模板?例如,如果在我的定义文件中,我在每个函数、友元类、运算符重载等上都使用模板,我是否必须在模板实例化文件中实例化每个模板(我正在使用的当前方法)?
根据我的反复试验,答案似乎是否定的,而且很简单
template class Class<type>;
适用于班级的所有成员。但是,我已经阅读了其他建议的代码,我们将不胜感激。
【问题讨论】:
-
您可能会发现this post 很有帮助。
-
根据@DietmarKühl 的出色帖子,“显式实例化类模板会实例化当前已知定义的所有成员函数。要显式实例化非成员函数模板,必须单独列出每个模板。为了避免要列出每种类型的所有函数,可以创建一个显式引用它们的辅助函数或类模板:显式实例化此模板会隐式实例化所有非成员函数。”这完美地回答了我的问题。干杯