0

我正在使用斯坦福图书馆的 Map 类型。而且我可以很容易地通过传递它来获取值.get(key)但是我突然想到,如果我也可以检索它,那将是有益keys的。有没有办法做到这一点?

根据它的文档: http: //www.stanford.edu/class/cs106b/materials/cppdoc/Map-class.html它没有这样的功能。但是还有另一种方法吗?

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

4

2 回答 2

2

就在这里。尝试foreach

作为迭代映射时的简化,foreach 宏迭代键而不是键/值对。

于 2012-11-24T00:50:08.323 回答
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
}
于 2012-11-24T00:45:39.363 回答