首頁 >後端開發 >C++ >如何在 C 中迭代嵌套映射?

如何在 C 中迭代嵌套映射?

Linda Hamilton
Linda Hamilton原創
2024-12-09 03:15:16285瀏覽

How Do I Iterate Through a Nested Map in C  ?

循環遍歷嵌套的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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn