收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
2. map 对象是一个模版类,需要关键字和存储对象两个模版参数
std::map<int , std::string> person;
3. 可以对模版进行类型定义使其使用方便
typedef std::map<int , std::string> MAP_INI_STRING;
MAP_INI_STRING person;
### **Map的构造**
**1、map最基本的构造函数;**
std::map<int , std::string> mapPerson;
**2、map添加数据;**
**1)insert函数插入pair数据**
std::map<int , std::string> mapPerson;
mapPerson.insert(pair<int,string>(1,“Jim”));
**2)insert函数插入value\_type数据**
mapPerson.insert(std::map<int, std::string>::value_type (2, “Tom”));
**3)用数组方式插入数据**
mapPerson[3]=“Jerry”;
##### 3、Map数据的遍历
三种最常用的遍历方法:
**1)前向迭代器**
std::map<int ,std::string>::iterator it;
std::map<int ,std::string>::iterator itEnd;
it = mapPerson.begin();
itEnd = mapPerson.end();
while (it != itEnd) {
cout<first<<’ '<second<<endl;
it++;
}
#### 2)反向迭代器
std::map<int, string>::reverse_iterator iter;
for(iter = mapPerson.rbegin(); iter != mapPerson.rend(); iter++){
cout<first<<" "<second<<endl;
}
#### 3)数组形式
mapPerson.insert(std::map<int, std::string>::value_type (1, “Tom”));
mapPerson[2]= “Jim”;
mapPerson[3]= “Jerry”;
int nSize = mapPerson.size();
for(int n=1; n<= nSize; n++){
string::fromstdstring(mapPerson[n]);
string::fromstdstring(mapPerson[n]);
}
三种都是遍历,建议使用前向迭代器,慎用使用数组形成(角标开始位置谨慎)。
**4、map中元素的查找:**
find()函数返回一个迭代器指向键值为key的元素,如果没找到就返回指向map尾部的迭代器。
map<int,string >::iterator l_it;
l_it=maplive.find(112);
if(l_it==maplive.end()){
cout<<“we do not find 112”<<endl;
}
else{
cout<<“wo find 112”<<endl;
}
**5、map中元素的删除:**
如果删除112;
iterator erase(iterator it);//通过一个条目对象删除
iterator erase(iterator first,iterator last);//删除一个范围
size_type erase(const Key&key);//通过关键字删除
clear();//就相当于enumMap.erase(enumMap.begin(),enumMap.end());
**6、map中 swap的用法:**
Map中的swap不是一个容器中的元素交换,而是两个容器交换;
示例:
#include
收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618679757)**
需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!