map中所有的元素都是pair,即"key-value",key起到索引的作用,value是实值。key和value通过一个映射关系来建立联系,比如在数组中查找所有元素出现的个数,此时元素就是key,而value可以定义为元素的个数,通过对数组进行遍历之后就能对元素进行计数;
map中所有的元素都会根据元素的key值进行排序,即使在建立时没有顺序;
map中不允许有重复的key值,而multimap则允许容器中有重复的key值元素。
二、map容器的构造和赋值map<T1,T2> dp; // map的默认构造函数map(const map &dp); // map的拷贝构造函数map& operator=(consst map &dp); // 重载等号运算符进行赋值
三、map容器的增删改查/*********************增加元素***********************/dp.insert(pair<T1,T2>(key,value)); //在容器内插入元素,elem是一个"key-value"组dp.insert(make_pair(key,value)); //使用make_pair的方式构建 "key-value" 组dp[key] = value; //直接使用赋值的方法进行插入/*********************删除元素***********************/clear(); //清除所有元素erase(iterator pos); //删除pos迭代器所指向的元素,返回下一个元素的迭代器erase(iterator start,iterator end); //删除[begin,end)的所有元素,返回下一个元素的迭代器erase(key); //删除容器中值为key的元素/*********************访问元素***********************/for(auto i:dp) // 增强型for循环,直接访问dp中的元素。由于每个元素成对出现因此使用"first-sencond"表示"key-value" cout << i.first << ":" << i.second << endl; for(auto it=dp.begin(); it!=dp.end(); it++) // 典型型for循环,使用auto推理出it是map的迭代器 cout << it->first << ":" << it->second << endl;
总结 以上是内存溢出为你收集整理的C++中的map容器全部内容,希望文章能够帮你解决C++中的map容器所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)