我可以替换实际的实现std::hash
用我自己的定义std::hash
在 C++ 11 中?
我的意思是来自我的代码库,而不触及标准库。
在这种情况下,我看不到虚拟函数/多态性有任何用处,所以我想我无论如何都无法改变 std::hash 的定义?
您可以将哈希专门化为特定类型。
看here and here例如像这样
namespace std {
template <> struct hash<Foo>
{
size_t operator()(const Foo & x) const
{
/* your code here, e.g. "return hash<int>()(x.value);" */
}
};
}
如果您认为您可以比现有版本的库实现者做得更好,那么您要么
1. 错误
或者
2. 聪明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)