【C++】map详解

C++学习笔记系列C++学习笔记——与地址相关的运算“*”和“&”关系.C++学习笔记——string详解.文章目录C++学习笔记系列前言一、pair快速生成键值对1.pair类模板的构造2.创建pair对象二、map容器详解1.概念2.创建C++ map容器的几种方法3.C++map容器常用成员方法参考文献前言C++中map提供的是一种键值对容器,里面的数据都是成对出现的,每一对中的第一个值称之为关键字(key),每个关键字只能在 map 中出现一次;第二个称之为该关键字的对应值。
摘要由CSDN通过智能技术生成

C++学习笔记系列

C++学习笔记——与地址相关的运算“*”和“&”关系.
C++学习笔记——string详解.



前言

C++中map提供的是一种键值对容器,里面的数据都是成对出现的,每一对中的第一个值称之为关键字(key),每个关键字只能在 map 中出现一次;第二个称之为该关键字的对应值。本文介绍了map的一些基础内容。


一、pair快速生成键值对

C++ STL标准库提供了pair类模板,其专门用来将2个普通元素first和second(可以是C++基本数据类型、结构体,类自定的类型)创建成一个新元素<first,second>。

1.pair类模板的构造

#include<utility>    //pair类模板定义在此头文件中
//C++ 11标准之前的三种构造函数
//(1)默认构造函数,即创建空的pair对象
pair()//(2)直接使用2个元素初始化pair对象
pair (const first_type& a, const second_type& b);

//(3)拷贝(复制)构造函数,即借助另一个pair对象,创建新的pair对象
template<class U, class V> pair (const pair<U,V>& pr);

//C++ 11标准之后在引入右值引用的基础上,pair 类模板中又增添了如下 2 个构造函数:
//(4)移动构造函数
template<class U, class V> pair (pair<U,V>&& pr);

//(5)使用右值引用参数,创建pair对象
template<class U, class V> pair (U&&</
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言中的map是一个键值对的集合容器,可以用来存储一些相关数据。它的定义类似于一个结构体,使用时要先定义一个map类型的变量,然后再添加键值对。 定义map类型变量的方式为: ``` map<key_type, value_type> my_map; ``` 其中,key_type和value_type分别是键和值的类型,可以是任意类型的数据。在使用map之前,需要先包含头文件<map.h>。 接下来,可以通过以下代码向map中添加键值对: ``` my_map[key] = value; ``` 其中,key为要添加的键,value为要添加的值。如果键已经存在,则会更新该键的值。 可以通过以下方式访问map中的值: ``` my_map[key] ``` 这里的key为所要访问的键。如果该键存在,则返回其对应的值,否则返回默认值(通常为0或空)。 还可以使用以下代码来遍历所有的键值对: ``` for (auto it = my_map.begin(); it != my_map.end(); ++it) { auto key = it->first; auto value = it->second; // TODO:对键值对进行操作 } ``` 其中,auto关键字可以自动推断变量类型,it->first用于获取当前键值对的键,it->second用于获取当前键值对的值。 除了上述常用的操作,还有一些其他的操作,如: - erase(key):用于删除指定键的键值对; - count(key):返回指定键出现的次数(通常是0或1); - empty():判断map是否为空; - size():返回map中键值对的数目。 总的来说,C语言中map的使用十分灵活,能够方便地存储和操作多个键值对。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值