【发布时间】:2010-04-30 20:22:37
【问题描述】:
以下方法有区别吗?
// approach 1
namespace std
{
template<>
void swap<Foo>(Foo& x, Foo& y) // note the <Foo>
{
x.swap(y);
}
}
// approach 2
namespace std
{
template<>
void swap(Foo& x, Foo& y)
{
x.swap(y);
}
}
当我尝试专门交换我自己的字符串类型时,我偶然发现了这一点,并注意到 swap<::string> 不起作用,但原因完全不同:)
【问题讨论】:
-
::string是什么类型的? -
全局命名空间中我自己的玩具字符串类型。