您可以遍历一个
std::map对象。每个迭代器都指向一个
std::pair<constT,S>位置
T,
S并且与您在上指定的类型相同
map。
这将是:
for (std::map<int, MyClass>::iterator it = Map.begin(); it != Map.end(); ++it){ it->second.Method();}如果仍要使用
std::for_each,请传递一个以a
std::pair<const int, MyClass>&作为参数的函数。
例:
void CallMyMethod(std::pair<const int, MyClass>& pair) // could be a class static method as well{ pair.second.Method();}并将其传递给
std::for_each:
std::for_each(Map.begin(), Map.end(), CallMyMethod);



