查找配对的匹配键范围
Find matching key range for pairs
假设我有一张地图:
std::map<std::pair<string,int>,int> map_example;
如何查找映射中具有具有以下属性的键的所有元素:对中的字符串是"A",int 介于 5 和 10 之间(包括 5 和 10(。 或者,将我的地图制作如下会更好吗?
std::map<string,std::map<int,int> map_example2;
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
。
相关文章:
- 在C++中查找范围的长度
- 查找给定范围内最长连续 1 的频率
- DEV C++ 第 69 行 [错误] ISO "for" 范围更改了"i"的名称查找 [-允许]
- 检查IP是否在其他IP网络范围内,并查找下一个可用IP
- 对于多个查询,查找在 l 到 r 范围内具有相同元素的最长公共子数组
- 查找配对的匹配键范围
- 从给定范围内的向量中查找最大元素
- 如何使用C或C 查找给定的IPv6地址是否属于CIDR范围
- 为带有带前缀的字符串的容器查找相等的范围
- 使用std :: quare_range查找字符串向量中发生的前缀范围
- 用于查找范围重叠的更节省内存的算法
- 如何在向量的给定索引范围内查找最小元素
- 范围运算符需要查找 std 命名空间而不是提升
- 通过引用查找调用范围的标准引用是什么
- 查找范围内元素数量的最快方法
- 嵌套c++11范围循环,用于查找组合
- 依赖于模板参数的范围查找
- 在某个范围内查找素数时出现 Sigsegv 错误
- 给定数百万个点,查找位于直线上或距离直线0.2 mm范围内的点
- 在向量的排序向量中查找特定值的索引范围