关于STL map的for each
STL map顾名思义,是一种key-value映射格式的数据结构。
map中每一个key-value元素,其实就是一个std::pair。
在遍历std::map时,可以用for each语法,一一获取其中的std::pair,进行处理。
代码示例:
class CRule;
std::map<int, CRule*> g_mapRule;
CRule& getRule(int ruleID)
{
for each(std::pair<int, CRule*> itr in g_mapRule)
{
if (itr.first == ruleID)
{
return *itr.second;
}
}
return *g_mapRule[DEFAULT_RULE_ID];
}