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