【发布时间】:2011-11-05 12:48:57
【问题描述】:
我需要定义一个类似unordered_map<pair<int, int>, *Foo> 的unordered_map,定义hash 和equal 函数并将其传递给此映射的语法是什么?
我尝试将这个对象传递给它:
class pairHash{
public:
long operator()(const pair<int, int> &k) const{
return k.first * 100 + k.second;
}
};
没有运气:
unordered_map<pair<int, int>, int> map = unordered_map<pair<int, int>, int>(1,
*(new pairHash()));
我不知道size_type_Buskets 是什么意思,所以我给了它1。
正确的方法是什么?
谢谢。
【问题讨论】:
-
*(new pairHash())谁来删除这个?为什么要在这里做动态分配?只需使用pairHash()。
标签: c++ unordered-map hash-function