我正在使用斯坦福图书馆的 Map 类型。而且我可以很容易地通过传递它来获取值.get(key)
但是我突然想到,如果我也可以检索它,那将是有益keys
的。有没有办法做到这一点?
根据它的文档: http: //www.stanford.edu/class/cs106b/materials/cppdoc/Map-class.html它没有这样的功能。但是还有另一种方法吗?
也许使用迭代器:Map <string, int>::iterator
?
我正在使用斯坦福图书馆的 Map 类型。而且我可以很容易地通过传递它来获取值.get(key)
但是我突然想到,如果我也可以检索它,那将是有益keys
的。有没有办法做到这一点?
根据它的文档: http: //www.stanford.edu/class/cs106b/materials/cppdoc/Map-class.html它没有这样的功能。但是还有另一种方法吗?
也许使用迭代器:Map <string, int>::iterator
?
就在这里。尝试foreach
:
作为迭代映射时的简化,foreach 宏迭代键而不是键/值对。
您的 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
}