C++ unordered_map remove 實現哈希表移除


 

使用C++的unordered_map類型時,我們經常要根據關鍵字查找,並移除一組映射,在Java中直接用remove即可,而STL中居然沒有實現remove這個函數,還要自己寫循環來查找要刪除項,然后用erase來清除,我也是醉了,參見下面代碼:

 

vector<A*> v1;
// remove A *a1
for (vector<A*>::iterator it = v1.begin(); it != v1.end(); ++it) {
    if (*it == a1) v1.erase(it);
}

unordered_map<int, B*> m;
// remove B *b1
for (unordered_map<int, B*>::iterator it = m.begin(); it != m.end(); ++it) {
    if (it->second == b1) m.erase(it);
}

 

再加上之前那篇博客C++ Split string into vector<string> by space里面提到的C++的STL也沒有實現split函數,如此這般,我感覺改攻Java很有必要啊~~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM