• QT 中map的使用


    1、map介绍

    map是STL的一个关联容器,map内部自建一颗红黑树。它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响。对于迭代器来说,可以修改实值,而不能修改key。

    2、map的定义

    #include  
    std:map mapS;
    typedef mapCString> MapNToStr;//为了使用方便
    MapNToStr enumMap;

    3、map的插入方法

    (1)enumMap.insert(pair(1, “One”));

    (2)enumMap.insert(map::value_type (1, “One”)); 

    (3)enumMap[1] = "One";  

    4、编程实现find()、begin()、end()函数的使用,三者均返回的是迭代器类型。

    //map的定义
        std::map m_map;
        m_map[1] = "a";
        m_map.insert(std::pair(2, "b"));
        m_map.insert(std::pair(3, "c"));
        m_map.insert(std::pair(4, "d"));
        m_map.insert(std::pair(5, "e"));
        m_map[6] = "f";
        m_map[7] = "g";
        m_map.insert(std::map::value_type(8, "h"));
        m_map[9] = QString("student_1");

        //map的find()函数
        std::map::iterator iter;
        iter = m_map.find(1);//find()返回的是一个迭代器

        if (iter != m_map.end())
        {
            qDebug() << "Find the value is " << iter->second << endl;
        }
        else
        {
            qDebug() << "Do not Find" << endl;
        }

    //map的循环    

    std::map::iterator iter1;
        for (iter1 = m_map.begin(); iter1 != m_map.end(); iter1++)//begin和end均返回迭代器类型
        {
            qDebug() << iter1->first << ": " << iter1->second << endl;
        }

    5、擦除元素

    iterator erase(iterator it);        //通过一个条目对象删除(操作迭代器)
    iterator erase(iterator first,iterator last);    //删除一个范围(操作迭代器)
    size_type erase(const Key&key);        //通过关键字删除

        //擦除map数据
        std::map::iterator iter2;
        iter2 = m_map.find(3);
        m_map.erase(iter2);

        iter2 = m_map.find(3);
        if (iter2 == m_map.end())
        {
            qDebug() << "Do not find";
        }

  • 相关阅读:
    深入理解计算机网络-10传输层2
    Spring-Cloud-Openfeign如何支持数据压缩?
    Linux--socket编程--服务端代码
    安卓USB模块源码分析(一)- 准备
    docker安装RocketMQ
    Ambari安装部署—基础软件环境说明
    【Graph Net学习】GNN/GCN代码实战
    优维产品使用最佳实践:实例拓扑
    【滑动窗口】滑动窗口思想介绍及习题案例
    输入框(input)的宽度根据内容自适应
  • 原文地址:https://blog.csdn.net/Learning_Well/article/details/127688710