//insert(elem);
//clear();
//erase(pos); //删除该位置上数据
//erase(beg,end); //删除区间内数据
//erase(key); //删除容器内全部值为key的数据
#include<iostream>
#include<map>
using namespace std;
void printMap(const map<int, int>& m) {
for (map<int, int>::const_iterator it = m.begin(); it != m.end(); it++) {
//这里获取不可以单纯*it,因为有两个值
cout << "key = " << (*it).first << " value = " << it->second << endl;
}
cout << endl;
}
void test01() {
map<int,int>m;
//第一种
m.insert(pair<int, int>(1, 10));
//第二种
//第二种不需要模板,更简单(?)
m.insert(make_pair(2, 20));
//第三种
m.insert(map<int, int>::value_type(3, 30));
//第四种
//重载的中括号,简易但不建议
m[4] = 40;
//不建议原因:
//即使一共只赋值value了四个值,但只要使用过m[5]
//那么编译器会自动用0补位m[5]
//cout<<m[5]<<endl;
//中括号作用:可以通过key找到对应value
//总结:中括号建议访问,不建议插入
printMap(m);
//删除
m.erase(m.begin());
printMap(m);
//删除重载版本
//按照key删除!!! 不是value
m.erase(3);
//s1.erase(30);
printMap(m);
//清空
//m.erase(m.begin(), m.end());
m.clear();
printMap(m);
}
int main() {
test01();
}
c++笔记 STL map容器_插入和删除
最新推荐文章于 2024-04-24 15:15:48 发布