ホームページ >バックエンド開発 >C++ >C でネストされたマップを反復するにはどうすればよいですか?

C でネストされたマップを反復するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-09 03:15:16283ブラウズ

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。