0
我想用可定义状态的函数作为unordered_set的散列函数,我遇到的问题是我不知道如何初始化函子传递为模板参数。这将是这样的。使用functor作为无序散列函数
class A{
private:
class Hasher{
private:
int a;
public:
Hasher(int val=3):a(val){};
size_t operator()(const string & s) const{
return s[0]*a;
}
};
unordered_set<string,Hasher??> us;
int hasher_val;
public:
A(int h_val):hasher_val(h_val){};
}
问题是,我怎样才能定义一个不同于3的值?
根据http:///stackoverflow.com/a/14182624/3313064,您可以传递0或从另一个实例获取默认桶数。 –
非常感谢!这就是我正在寻找的东西,就像@ christian-hackl指出的那样,文档表明0值是初始桶大小的完美值,同样也非常感谢。 – user3325504