插入数据:
//初始化
std::map<int, CString> mapEnt;
//用insert函数插入pair数据
mapEnt.insert(std::pair<int,CString>(1,_T("student_one")));
//用insert函数插入value_type数据
mapEnt.insert(std::map<int,CString>::value_type(2,_T("student_two")));
//用数组方式插入数据
mapEnt[3] = _T("student_three");
读取值:
CString str = mapEnt[2];
//使用find函数
auto iter = mapEnt[2];
//可以通过迭代器修改值
iter->second = _T("haha");
遍历数据:
//迭代器
map<int, string>::iterator iter;
for(iter = mapStudent.begin(); iter != mapStudent.end(); iter++)
cout<<iter->first<<' '<<iter->second<<endl;
搜索数据:
map<int, string> mapStudent;
mapStudent.insert(pair<int, string>(1, "student_one"));
mapStudent.insert(pair<int, string>(2, "student_two"));
mapStudent.insert(pair<int, string>(3, "student_three"));
map<int, string>::iterator iter;
iter = mapStudent.find(1);
if(iter != mapStudent.end())
cout<<"Find, the value is "<<iter->second<<endl;
else
cout<<"Do not Find"<<endl;
return 0;
删除数据:
map<int, string> mapStudent;
mapStudent.insert(pair<int, string>(1, "student_one"));
mapStudent.insert(pair<int, string>(2, "student_two"));
mapStudent.insert(pair<int, string>(3, "student_three"));
//如果你要演示输出效果,请选择以下的一种,你看到的效果会比较好
//如果要删除1,用迭代器删除
map<int, string>::iterator iter;
iter = mapStudent.find(1);
mapStudent.erase(iter);
//如果要删除1,用关键字删除
int n = mapStudent.erase(1);//如果删除了会返回1,否则返回0
//用迭代器,成片的删除
//一下代码把整个map清空
mapStudent.erase( mapStudent.begin(), mapStudent.end() );
//成片删除要注意的是,也是STL的特性,删除区间是一个前闭后开的集合
//自个加上遍历代码,打印输出吧
1.判断某元素是否存在
map<int, string> mapDemo;
bool bRet = mapDemo.count(100);//判断mapDemo中是否有 key = 100 的元素
2.查找某个元素
map<int, string>::iterator iter = mapDemo.find(100);
if (iter != m_Int.end())
//找到了
else
//没找到