首頁 > 後端開發 > C++ > 如何使用迭代器有效地存取嵌套 C 映射中的值?

如何使用迭代器有效地存取嵌套 C 映射中的值?

Linda Hamilton
發布: 2024-12-02 22:09:15
原創
351 人瀏覽過

How Do I Efficiently Access Values in a Nested C   Map Using Iterators?

使用迭代器存取多層C 映射中的值

迭代映射的C 映射,其中內部映射包含key-值對,可以使用迭代器有效地實現。具體操作方法如下:

如下聲明映射:

std::map<std::string, std::map<std::string, std::string>> m;
登入後複製

要迭代外部映射,請使用以下指令語法:

for (auto& outer_entry : m) {
  std::string outer_key = outer_entry.first;
  std::map<std::string, std::string>& inner_map = outer_entry.second;

  // Iterate through the inner map using a nested loop
  for (auto& inner_entry : inner_map) {
    std::string inner_key = inner_entry.first;
    std::string inner_value = inner_entry.second;

    // Access the inner values here
  }
}
登入後複製

範例:

m["name1"]["value1"] = "data1";
m["name1"]["value2"] = "data2";
m["name2"]["value1"] = "data1";
m["name2"]["value2"] = "data2";
m["name3"]["value1"] = "data1";
m["name3"]["value2"] = "data2";

for (auto& outer_entry : m) {
  std::cout << "Outer Key: " << outer_entry.first << std::endl;
  for (auto& inner_entry : outer_entry.second) {
    std::cout << "Inner Key: " << inner_entry.first << " - Value: " << inner_entry.second << std::endl;
  }
  std::cout << std::endl;
}
登入後複製

輸出:

Outer Key: name1
Inner Key: value1 - Value: data1
Inner Key: value2 - Value: data2

Outer Key: name2
Inner Key: value1 - Value: data1
Inner Key: value2 - Value: data2

Outer Key: name3
Inner Key: value1 - Value: data1
Inner Key: value2 - Value: data2
登入後複製

以上是如何使用迭代器有效地存取嵌套 C 映射中的值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板