如何允许 STL 实现选择我的自定义类型?在 MSVC 上,有一个类std::tr1::hash
,我可以通过使用来部分专门化它
namespace std
{
namespace tr1
{
template <>
struct hash<MyType>
{ ... };
}
}
但这是推荐的方式吗?此外,这也适用于 GCC 的实现吗?对于boost::hash
,提供一个免费的功能就足够了size_t hash_value (const MyType&)
,TR1的实现有没有类似的东西?