我知道 c++ 中的模板是做什么的,但是今天我看到了一些奇怪的代码:
template <> void swap(foo &a, foo &b)
{
a.name = b.name;
a.id = 1;
// blah blah blah
}
我做了一些研究,发现它被称为专用模板或类似的东西。
如果在上面的代码中删除template <>
部分,我会得到完全相同的结果。也没有像通常的模板函数那样的通用类型......
我的问题是 - 使用它们的目的是什么?
我知道 c++ 中的模板是做什么的,但是今天我看到了一些奇怪的代码:
template <> void swap(foo &a, foo &b)
{
a.name = b.name;
a.id = 1;
// blah blah blah
}
我做了一些研究,发现它被称为专用模板或类似的东西。
如果在上面的代码中删除template <>
部分,我会得到完全相同的结果。也没有像通常的模板函数那样的通用类型......
我的问题是 - 使用它们的目的是什么?