循环遍历嵌套的 C 映射
迭代 C 中的嵌套映射,其中该映射包含要映射的字符串映射字符串,您可以使用基于范围的 for 循环语法。以下是 C 11 及更高版本的更新解决方案:
std::map<std::string, std::map<std::string, std::string>> mymap; for (const auto &[outer_key, inner_map] : mymap) { // Outer key is accessible via 'outer_key' for (const auto &[inner_key, inner_value] : inner_map) { // Inner key is accessible via 'inner_key' // Inner value is accessible via 'inner_value' } }
这种方法消除了不必要的副本,并提供了一种简洁而优雅的方式来访问嵌套映射中的键和值。
对于 C 17,您可以使用结构化绑定进一步简化:
for (const auto &[outer_key, inner_map] : mymap) { for (const auto &[inner_key, inner_value] : inner_map) { // Access your 'outer_key', 'inner_key', and 'inner_value' directly } }
这种技术允许您直接访问变量而无需定义中间引用,如 ent1、ent2 等。
以上是如何在 C 中迭代嵌套映射?的详细内容。更多信息请关注PHP中文网其他相关文章!