关于 STL map容器
· map 容器存储的都是 pair 对象,也就是用 pair 类模板创建的键值对。
· 创建 map 容器:
map<string,int>all;
· 使用 map 容器存储的各个键值对,键的值既不能重复也不能被修改。
· 在使用 map 容器存储多个键值对时,该容器会自动根据各键值对的键的大小,按照既定的规则进行排序。默认情况下会自动选择 less<T> 做升序排序,当然也可以手动指定排序规则,比如选用 greater<T> ,或者自定义排序规则。比如:
map<string,int,greater<string>>all{{"hello",111},{"bye",222}};
此时,all 容器内部键值对排列的顺序为:
<"hello",111> <"bye",222>
· 当使用 struct 作为 map 中的 key 时,需要手动对 struct 进行实现,重载 < 运算符的代码。因为 map 容器本身通过的 < 对 key 做升序排序,但是 key 为结构体时,< 无法对结构体进行排序。比如:
struct point { int x,y,r; bool operator<(const point &p)const { if(x==p.x) { if(y==p.y) return r<p.r; return y<p.y; } return x<p.x; } };
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?