C++-std::map
STL不是语法要点,而是工具,如果能解决问题,即使一点也不懂也没问题;如果能提供便利去编程,何乐而不为。
本文配合MFC的CString使用;map是键值对;
0、头文件
#include <memory>//stl没有.h
1、使用typedef类型定义
typedef std::map<CString,CString> S_S_MAP; typedef std::map<CString,int> S_I_MAP; typedef std::map<CString,CString>::iterator S_S_MAP_ITER; typedef std::map<CString,int>::iterator S_I_MAP_ITER;
前面两个是map,后面是两个迭代器
2、插入数据
S_S_MAP sMap;
CString tmepStr1,tmepStr2;
...
sMap.insert(std::pair<CString,CString>(tmepStr1,tmepStr2));
3、删除所有
sMap.clear();
4、查找某个key是否存在,通过find返回的迭代器与end迭代器作比较
S_S_MAP_ITER iter; iter = sMap.find(_T("some key name")); if (iter != lmap.end())//存在 { .... }
5、遍历
std::map<int, QString> systemUiCfg; systemUiCfg[0x00] = "RadarMainSystem.qml"; systemUiCfg[0x90] = "Trasmit.qml"; systemUiCfg[0x70] = "DigitalPlugBox.qml"; for(auto& it : systemUiCfg){ qDebug()<< it.first << it.second);
}
长风破浪会有时,直挂云帆济沧海!
可通过下方链接找到博主
https://www.cnblogs.com/judes/p/10875138.html