有沒有一種方法(除了將鍵作爲值的一部分存儲和遍歷映射)從STL映射,multimap(hash_map)和Perl鍵(%hash)中檢索鍵?檢索STL映射鍵
檢索STL映射鍵
回答
for (std::map<key, value>::iterator iter = m.begin(); iter != m.end(); ++iter)
iter->first; // this is the key
+1如果你想要的話,就拿出漂亮的包裝紙,但這就是它歸結的原因。 – 2010-11-12 20:17:55
+1我們總是忘記簡單的解決方案。 – Klaim 2010-11-12 20:51:37
如果您經常需要獲得這些密鑰(就像在一個大循環),那麼你可能有興趣使用boost::bimap。否則,您可以使用正確的Nikola解決方案。
有時我會在將元素添加到地圖時將密鑰副本放在另一個容器中。它需要確保同步兩個容器,但是如果它足夠隔離(在一個類中),那麼它很容易設置。
我認爲'boost :: bimap'在這裏是一個矯枉過正的東西。這裏沒有雙向關係。 – wilhelmtell 2010-11-12 20:59:22
是的,正如我所說,這取決於爲什麼需要檢索密鑰。 – Klaim 2010-11-12 22:14:22
您可以使用for循環。
for (const auto & keyVal : myMap)
keyVal.first;
- 1. 檢索映射
- 2. 基於映射內部映射的鍵值檢索值
- 3. STL對輸入與STL映射
- 4. C++ STL映射鍵和值不能正常工作
- 5. 鍵重映射
- 6. 鍵值映射
- 7. 如何從哈希映射檢索鍵和值
- 8. 如何從OpenCV FileNode映射中檢索鍵值對?
- 9. 如何從Microsoft IME程序檢索擊鍵/字符映射表?
- 10. 按鍵值搜索不可變映射
- 11. 休眠索引映射(雙列主鍵)
- 12. STL映射在搜索嘗試時拋出錯誤
- 13. 用一對索引STL映射是一個好主意嗎?
- 14. stl映射的迭代器++複雜性
- 15. STL映射和指針問題
- 16. vc6中的STL映射分配錯誤
- 17. STL映射值構造函數
- 18. 使用STL映射調試代碼
- 19. 使用SWIG的Perl中的STL映射
- 20. C++,stl函數向量指針映射
- 21. 共享內存中的C++ STL映射
- 22. 作爲默認參數的STL映射
- 23. 轉換STL映射到一個struct
- 24. 映射關係 - 外鍵或映射表
- 25. Java泛型 - 映射(鍵入)映射
- 26. 映射映射鍵的最佳方式
- 27. 如何映射映射的鍵和值?
- 28. 映射鍵發射功能
- 29. 從ggplot檢索顏色 - 值映射
- 30. 檢索T4中的列映射信息
您是否試圖獲取所有密鑰或與單個值關聯的密鑰? – 2010-11-12 21:00:04