C++:map容器和pair的结合使用

本文介绍了C++中map容器和pair的结合使用。通过示例展示如何定义map和pair,以及如何将pair插入到map中进行查找和枚举操作。在示例中,创建了一个map,存储了int和char*的pair,然后查找键值并遍历所有元素,输出键值对。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、map和pair简介

  可以简单的理解为如下:map可以当做一个容器(装载具有一定格式的数据);pair可以理解为元素(放入到容器的的一个个个体),发现pair并没有单独行动的典型用法,正常都是配合map来使用(即把pair这个元素插入到map这个容器里面)

  二、示例讲解

  typedef std::map<int, char *> Container; // int为map的键值(对应值first),char为map的值(对应于成员变量second)

  typedef std::pair<int, char *> Element;

  int _tmain(int argc, _TCHAR* argv[])

  {

  Container container; // 定义map容器类实例

  for (int nIndex = 0;nIndex < 10; nIndex ++)

  {

  char * p = new char[16];

  sprintf(p,"element %d \0",nIndex);

  Element element(nIndex,p); // 定义pair类实例

  container.insert(element); // 把元素插入到map容器里面

  }

  // 查找键值为1的元素

  Container::const_iterator ptr = NULL;

  ptr = container.find(1);

  if (ptr != container.end())

  {

  printf("find key 1 \n");

  }

  // 枚举map容器的元素

  Container::iterator begin = container.begin();

  while(begin != container.end())

  {

  printf("%d element value :%s\n",(*begin).first,(*begin).second);

  delete [] (*begin).second;

  (*begin).second = NULL;

  begin ++;

  }

  return 0;

  }

  输出如下:

  find key 1

  0 element value :element 0

  1 element value :element 1

  2 element value :element 2

  3 element value :element 3

  4 element value :element 4

  5 element value :element 5

  6 element value :element 6

  7 element value :element 7

  8 element value :element 8

  9 element value :element 9
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值