1. ホーム
  2. c++

[解決済み] C++のマップ値を印刷するにはどうすればよいですか?

2022-02-14 02:36:05

質問内容

を持っています。 map このように

map<string, pair<string,string> > myMap;

そして、いくつかのデータを使ってマップに挿入しています。

myMap.insert(make_pair(first_name, make_pair(middle_name, last_name)));

地図上のすべてのデータを印刷するにはどうすればよいですか?

解決方法は?

for(map<string, pair<string,string> >::const_iterator it = myMap.begin();
    it != myMap.end(); ++it)
{
    std::cout << it->first << " " << it->second.first << " " << it->second.second << "\n";
}

C++11では、以下のようなスペルは必要ありません。 map<string, pair<string,string> >::const_iterator . を使用することができます。 auto

for(auto it = myMap.cbegin(); it != myMap.cend(); ++it)
{
    std::cout << it->first << " " << it->second.first << " " << it->second.second << "\n";
}

を使用していることに注意してください。 cbegin()cend() 関数を使用します。

もっと簡単なのは、範囲を指定したforループを使うことです。

for(const auto& elem : myMap)
{
   std::cout << elem.first << " " << elem.second.first << " " << elem.second.second << "\n";
}