2017-10-20 66 views

回答

1

這裏是一個示範項目使用迭代器和基於範圍的語句。

#include <iostream> 
#include <map> 

int main() 
{ 
    std::map<int, std::pair<int, int>> hmap{ { 1, { 2, 3 } }, { 2, { 3, 4 } } }; 

    for (auto it = hmap.begin(); it != hmap.end(); ++it) 
    { 
     std::cout << "{ " << it->first 
      << ", { " << it->second.first 
      << ", " << it->second.second 
      << " } }\n"; 
    } 

    std::cout << std::endl; 

    for (const auto &p : hmap) 
    { 
     std::cout << "{ " << p.first 
      << ", { " << p.second.first 
      << ", " << p.second.second 
      << " } }\n"; 
    } 

    std::cout << std::endl; 
} 

它的輸出是

{ 1, { 2, 3 } } 
{ 2, { 3, 4 } } 

{ 1, { 2, 3 } } 
{ 2, { 3, 4 } } 
2

如果有一個pair(2,pair(3,4))如何獲得2個3 4值[從一個迭代itrmap<int,pair<int, int>>]

我想

itr->first   // 2 
itr->second.first // 3 
itr->second.second // 4 
相關問題