利用unordered_map代替hash_map - My Study
利用unordered_map代替hash_map
- 實驗環(huán)境
- 操作系統(tǒng) fedora9
- 編譯器版本 gcc4.3
- 實驗方式
各種map使用插入和查找,比較速度和相關(guān)性能
- 代碼
- 參考代碼
- 下面測試說明了速度之間的比較:
map類型 插入速度 插入和查找速度 hashmap 0m0.123s 0m0.369s
map 0m0.190s 0m0.681s
unordered_map 0m0.123s 0m0.315s
- 為什么要使用unordered_map代替hash_map?
- 因為標(biāo)準(zhǔn)化的推進(jìn),unordered_map原來屬于boost分支和std::tr1中,而hash_map屬于非標(biāo)準(zhǔn)容器。
- 另外,使用之后,感覺速度和hash_map差不多,但是支持string做key,也可以使用復(fù)雜的對象作為key。
- gxx需要添加編譯選項: -std=gnu++0x 或者 -std=c++0x
- 在/usr/include/c++/4.3.0/backward/backward_warning.h文件中,明確寫道:
This file includes at least one deprecated or antiquated header which \ may be removed without further notice at a future date. Please use a \ non-deprecated interface with equivalent functionality instead. For a \ listing of replacement headers and interfaces, consult the file \ backward_warning.h. To disable this warning use -Wno-deprecated.
/* A list of valid replacements is as follows:Use: Instead of:
<sstream>, basic_stringbuf <strstream>, strstreambuf
<sstream>, basic_istringstream <strstream>, istrstream
<sstream>, basic_ostringstream <strstream>, ostrstream
<sstream>, basic_stringstream <strstream>, strstream
<unordered_set>, unordered_set <ext/hash_set>, hash_set
<unordered_set>, unordered_multiset <ext/hash_set>, hash_multiset
<unordered_map>, unordered_map <ext/hash_set>, hash_map
<unordered_map>, unordered_multimap <ext/hash_set>, hash_multimap
<functional>, bind <functional>, binder1st
<functional>, bind <functional>, binder2nd
<functional>, bind <functional>, bind1st
<functional>, bind <functional>, bind2nd
<memory>, unique_ptr <memory>, auto_ptr
*/
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
