1 乙個萬能的 hash 函式

2021-08-31 00:00:02 字數 882 閱讀 2341

templateinline  void  hash_combine(std::size_t & seed, const t & val)

templateinline void hash_val(std::size_t & seed, const t & val)

templateinline void hash_val(std::size_t & seed, const t & val,const types & ...args)

templateinline size_t hash_val(const types & ...args)

上面是乙個萬能的hash函式,可以把任意的物件,轉換成hash值。

當我們使用乙個容器的時候,我們必須為我們儲存的元素,寫乙個hash function。

我們有以下幾種方法:

class  customer;

//方式三

class customerhash

};unordered_setcustset2; //這個是函式的呼叫

size_t  customer_hash_func(const customer  & c)

//函式的呼叫

unordered_setcustset(20, customer_hash_func);

//1、自己定義hash 函式的方式 

namespace std //必須放在 std 內

//借用現有的 hash(in ...\include\c++\bits\basic_string.h)

};}unordered_set> set; //函式的呼叫

萬能的函式(三)

形成閉包的條件 在之前的文章中看到過這樣描述裝飾器的話,很形象。先來個簡單的裝飾器 上面的例子傳入的是無引數的函式。如果我們想要傳入帶引數的函式怎麼辦?defadd a b return a b print a b deffn print hello world def demo def new f...

打造乙個萬能重新整理載入控制項

最近幫乙個老總搞乙個物流專案,原本想著在這個經濟下滑的階段賺點外快也還不錯,結果在開發的過程中並非我開始想象的那麼輕鬆,物流專案的業務還是比較複雜的。什麼都不想多說了,先寫篇部落格壓壓驚。這次一起打造個萬能重新整理載入控制項,其實剛接觸android的時候就有這個想法了,一直都沒有付諸行動,這段時間...

python函式的萬能引數

我們通過乙個簡單的事例來展示一下函式的萬能引數,我們先寫乙個最簡單的函式 def test args,kwargs print args,kwargs 然後定義兩個變數 l 1,2,3,4 d 下面我們分別看下兩種傳參的方式有什麼不同 第一種方式 test l,d 如果是使用上面的方式傳參,那麼l,...