我们说我有一张地图:
std::map<std::pair<string,int>,int> map_example;
如何在地图中找到具有以下属性的键的所有元素:对中的字符串为&#34; A&#34;并且int在5到10之间,包括5和10。或者,将地图制作成以下情况会更好吗?
std::map<string,std::map<int,int> map_example2;
答案 0 :(得分:0)
result
变量会为您提供map
,其中包含map_example
符合您条件的所有元素:
decltype(map_example) result;
for (const auto& item : map_example) {
const auto& key = item.first;
if (key.first == "A" && key.second >= 5 && key.second <= 10)
result.insert(item);
}
迭代整个map
并检查每个元素是否满足条件,如果是,则将元素插入result
map
。