天天看點

C++知識點(18) unordered_map

unorder_map是基于哈希表實作,不允許有重複的key值。

(1) find()

iterator find(const key_type &key)

如果key存在,則find傳回key對應疊代器,通過疊代器的second擷取值;

如果key不存在,則傳回unordered_map::end();是以可以通過map.find(key)==map.end()來判斷key是否存在于unordered_map中。

(2)count()

size_type count(const key_type &key) const

count用于統計key值在unordered_map中出現的次數。實際上,unordered_map不允許有重複的key值,是以如果key存在,傳回1;不存在,傳回0。

(3)可以使用[]通路key對應的值map[key]。如果該key不存在,則C++會自動建立這個key,并把map[key]=0;

繼續閱讀