マップのネストされた 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 サイトの他の関連記事を参照してください。