//删除map元素的三种方式
//by 鸟哥 
#include <iostream>
#include <map>
using namespace std;

void printMap(const map<string, int>& students)
{
    for (auto ii = students.begin() ; ii != students.end() ; ii++)
    {
        cout <<"姓名:"<< ii->first
        << " 年龄: " << ii->second
        << endl;
    }
    cout<<endl;
}

int main(int argc, char* argv[]){
    map<string, int> students;
    students["建国"] = 12;
    students["爱华"] = 11;
    students["从从"] = 13;
    students["丛丛"] = 11;
    students["北京"] = 9;
    cout<<"原map:"<<endl;
    printMap(students);
    
    students.erase("丛丛");
    cout<<"删除 丛丛 后:"<<endl;
    printMap(students);
    
    students.erase(std::begin(students));
    cout<<"删除第一个元素后:"<<endl;
    printMap(students);
    
    map<string,int>::iterator iter=students.find("建国");
    students.erase(iter);
    cout<<"删除建国后:"<<endl;
    printMap(students);
    
    return 0;
}

运行结果:

原map:
姓名:丛丛 年龄: 11
姓名:从从 年龄: 13
姓名:北京 年龄: 9
姓名:建国 年龄: 12
姓名:爱华 年龄: 11

删除 丛丛 后:
姓名:从从 年龄: 13
姓名:北京 年龄: 9
姓名:建国 年龄: 12
姓名:爱华 年龄: 11

删除第一个元素后:
姓名:北京 年龄: 9
姓名:建国 年龄: 12
姓名:爱华 年龄: 11

删除建国后:
姓名:北京 年龄: 9
姓名:爱华 年龄: 11

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐