zoukankan      html  css  js  c++  java
  • C++ std::map用法简介

    #include "map"   //引入头文件

    初始化:

    std::map <int, std::string> _map1;  //初始化
    	//c++11中引入的,可以直接在初始化时赋值
    	std::map <int, std::string> _map =   
    	{
    		{0,"11"},
    		{2,"22"},
    		{3,"33"},
    	};

    插入:

    // 如果已经存在键值200,则会作赋值修改操作,如果没有则插入
    	_map[200] = "booomm";
    //通过insert插入
    	_map.insert(std::pair<int, std::string>(4, "33333"));

    取值:

    用at和[]:

    //Map中元素取值主要有at和[]两种操作,at会作下标检查,而[]不会。
    	std::cout<< _map.at(100).c_str()<< std::endl;//使用at会进行关键字检查,因为没有100因此该语句会报错
    	std::cout << _map.at(4).c_str() << std::endl;//因为已经有4了,不会报错
    	
    	std::cout << _map[300].c_str() << std::endl;//ID_Name中没有关键字200,使用[]取值会导致插入,因此不会报错,但打印结果为空

    用find函数来定位数据出现位置,它返回的一个迭代器,当数据出现时,它返回数据所在位置的迭代器,如果map中没有要查找的数据,它返回的迭代器等于end函数返回的迭代器:

    auto iter=_map.find(200);
    if(iter==_map.end()) 
    {
       assert(false);  //若没有200这个元素,会返回end
       return;
    }
    auto value=iter->second;  //second返回iter的value


    遍历:

    for(auto item =_map.begin();item!=_map.end();item++)
    {
         auto value= item->second;
         if(value==L"11")
         {
            //do someting.....
         }
    }

    参考资料:http://blog.csdn.net/shuzfan/article/details/53115922

  • 相关阅读:
    Anti-Aliasing SSAA MSAA MLAA SRAA 简介
    开源二维码QR CODE编码/解码 识别 库
    Shadow Map阴影贴图技术之探
    3D场景的制作步骤
    python实现对excel数据进行修改/添加
    selenium3 + python 爬虫
    Mock实现模拟python的对象
    Moco模拟服务器实现请求&响应 (一)
    python之Beautiflusoup操作
    python使用ddt模块对用例执行操作
  • 原文地址:https://www.cnblogs.com/kevinWu7/p/10163516.html
Copyright © 2011-2022 走看看