【发布时间】:2013-03-01 13:41:28
【问题描述】:
为什么我要使用函数的显式实例化模板,作为一个类型?如果我不使用函数的显式实例化,模板用于创建必要的函数,那么显式实例化有什么用?
template <class Any>
void Swap (Any &, Any &);
// template prototype
template <> void Swap<job>(job &, job &);
// explicit specialization for job
int main(void)
{
template void Swap<char>(char &, char &);
// explicit instantiation for char
short a, b;
Swap(a,b);
// implicit template instantiation for short
job n, m;
Swap(n, m);
// use explicit specialization for job
char g, h;
Swap(g, h);
// use explicit template instantiation for char
}
在上面例如。对 char 类型进行显式实例化。这个有什么用??如果编译器可以利用模板为char类型制作fn。
如果有任何参考可以帮助我理清概念,请务必包含这些参考。
【问题讨论】:
-
致 Mr.Downvoter,请努力为您的投票留下理由。万一这是因为你发现它是一个骗子,据我记得当我进行搜索时这个问题没有出现(或者可能是因为在我发布我的问题后标题已经明确)
标签: c++ explicit-instantiation