C++ int映射和一组对

C++ int映射和一组对,c++,stl,C++,Stl,我可以这样声明地图吗: map<int,set<pair<int,int>>> map 如果可以,我想做以下几点: 在映射集合[i]中插入一对 删除映射集合中的第一对[j] 浏览地图 也请使用自动关键字。 提前谢谢 是的,你可以做你提到的所有事情 声明: map<int,set<pair<int,int>>> m; 删除映射集合[j]中的第一对: m[j].erase(m[j].begin()); 遍历地图: for

我可以这样声明地图吗:

map<int,set<pair<int,int>>>
map
如果可以,我想做以下几点:

  • 在映射集合[i]中插入一对
  • 删除映射集合中的第一对[j]
  • 浏览地图
  • 也请使用自动关键字。
    提前谢谢

    是的,你可以做你提到的所有事情

    声明:

    map<int,set<pair<int,int>>> m;
    
    删除映射集合[j]中的第一对:

    m[j].erase(m[j].begin());
    
    遍历地图:

    for(auto x:m){
        cout<<"Key value: "<<x.first<<", Mapped Values: ";
        for(auto y:x.second){
            cout<<"("<<y.first<<", "<<y.second<<") ";
        }
    cout<<endl;
    }
    
    用于(自动x:m){
    
    coutYes。请随意使用此地图做您想做的事情。是的,您可以做所有这些事情。您是否尝试过编写任何代码?这是一个非常有用的网站,向您展示了所有关于标准库的信息。是的,但我对自动和指针概念的使用感到困惑“也请使用自动关键字”试着先写不带auto的代码,然后看看可以用它替换什么类型。“指针概念”在这段代码中不需要任何指针。
    for(auto x:m){
        cout<<"Key value: "<<x.first<<", Mapped Values: ";
        for(auto y:x.second){
            cout<<"("<<y.first<<", "<<y.second<<") ";
        }
    cout<<endl;
    }