2012-11-24 30 views
0

我使用斯坦福圖書館的地圖類型。我可以通過傳遞.get(key)來輕鬆獲得價值。但是我發現,如果我能夠很好地檢索它,這將是有益的。有沒有辦法做到這一點?檢索地圖的關鍵字(斯坦福C++庫)

根據它的文檔:http://www.stanford.edu/class/cs106b/materials/cppdoc/Map-class.html它沒有這樣的功能。但是還有另一種方法嗎?

也許使用迭代器:Map <string, int>::iterator

+0

通過價值檢索所有這些或一個關鍵? – imreal

+0

所有這些,許多值是相同的。或者讓我說我正在迭代它並使用迭代器獲取值。同時,如果有意義,我想要檢索該值的關鍵字並將其存儲在別處。 –

回答

2

是的,有。嘗試foreach

作爲迭代映射時的簡化,foreach宏遍歷鍵而不是鍵/值對。

+0

太棒了!那一個會很有幫助 –

1

你map.h包括評論:

Additional Map operations 
- Iteration using the range-based for statement, standard STL iterators, and the mapping function mapAll 

所以,我想你可以嘗試用迭代迭代:

Map<string, int> :: iterator it; 
for(it = m.begin(); it != m.end(); ++it){ // Here m is your Map variable. 
     string key = it->first; 
     //... do something 
}