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