【『茴』的四种写法】 C++11 map和unordered

【『茴』的四种写法】 C++11 map和unordered,第1张

【『茴』的四种写法】 C++11 map和unordered map和unordered_map的遍历方法是相同的,不过遍历结果,map是有序的,unoredred_map遍历是无序的。 std:map 是个有序的关系容器,其完整原型如下:
template<
	class Key,
	class T,
	class Compare=std::less,
	class Allocator=std::allocator>
>class map;

键值对会根据键来用 Compare 排序,具体到 std::map 就是:

map>

C++11 map和unordered_map遍历方法
  • 一、迭代器 iterator
  • 二、类型萃取 (traits) value_type
  • 三、实际类型 pair
  • 四、结构化绑定 auto
  • 五、测试代码如下:
  • 六、map遍历结果:

一、迭代器 iterator
for(map::iterator it=mp.begin();it!=mp.end();++it)
	cout<first<<"--"<second<<"t";

for(map::const_iterator it=mp.begin();it!=mp.end();++it)
	cout<first<<"--"<second<<"t";
二、类型萃取 (traits) value_type
for(map::value_type& i:mp)
	cout< 
三、实际类型 pair 
for(pair&i:mp)//key必须是const的
	cout< 
四、结构化绑定 auto 
    for(auto&[k,v]:mp)
    cout< 
五、测试代码如下: 
#include
#include
#include
#include
#include
using namespace std;

int main(){

    mapmp;
    for(int i=0;i<10;i++)mp[i]=i;

    cout<::iterator it=mp.begin();it!=mp.end();++it)
        cout<first<<"--"<second<<"t";

    cout<::const_iterator it=mp.begin();it!=mp.end();++it)
        cout<first<<"--"<second<<"t";

    cout<::value_type& i:mp)
        cout<&i:mp)
        cout< 
六、map遍历结果: 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5521381.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-13
下一篇 2022-12-13

发表评论

登录后才能评论

评论列表(0条)

保存