我能否在C++ 11中用自己的std :: hash定义替换实际实现,而不需要接触标准库?
我的意思是从我的代码库中操作,而不去修改标准库。
在这种情况下,我看不到虚函数/多态性有任何用处,因此我认为无论如何都不能更改std :: hash的定义。
我的意思是从我的代码库中操作,而不去修改标准库。
在这种情况下,我看不到虚函数/多态性有任何用处,因此我认为无论如何都不能更改std :: hash的定义。
没问题,你不需要修改标准库,只需使用模板特化即可:
namespace std
{
template<>
struct hash<YourSpecialType>
{
// ...
};
}
std::hash
?(提示:它无法正常工作) - R. Martinho Fernandes