map可以用结构体作为健值吗

  • 前言
  • map可以用结构体作为健值

前言

在使用map时,有时候我们需要自定义键值,才能符合程序的需要。
比如我们需要使用自定义的结构体来作为map的键值:

struct  Test
{int x;int y;
};

这样直接使用的话,在编译时会出问题:
Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped
看错误是说,键值无法比较。因为map的键值是自动比较后进插入的,键值是递增的。

map可以用结构体作为健值

现在我们自定义的键值,编译器无法进行比较,找不到类似的模板,所以报错。
既然是没有‘<’,那我们自己重载小于操作符应该就可以了:

map可以用结构体作为健值吗?相关推荐

  1. golang map嵌套struct 结构体字段 不能直接修改 解决方法

    目录 错误信息 错误原因 解决方法 错误信息 Reports assignments directly to a struct field of a map 错误原因 结构体作为map的元素时,不能够 ...

  2. 树莓派python编程读取电压_《树莓派Python编程指南》——3.2 在结构体中存储值-阿里云开发者社区...

    本节书摘来自华章计算机<树莓派Python编程指南>一书中的第3章,第3.2节,作者:(美) Alex Bradbury Ben Everard更多章节内容可以访问云栖社区"华章 ...

  3. 6-3 结构体的最值 (5分)##C语言

    6-3 结构体的最值 (5分) 学生类型ST的定义如下: typedef struct student{ char name[10],id[10]; int gender; int age; doub ...

  4. matlab查找集合中某个元素的位置/Struct结构体某个字段值的位置

    % 查找集合中某个元素的位置 C = {'xlh','gyl','xyh'}; c = strcmp(C,'gyl'); % logical array ind0 = find(c==1);% Str ...

  5. c++ map嵌套队列(队列嵌套结构体指针)ok

    map中嵌套队列,队列中是结构体,有一个问题,结构体中的值不更新 #include <iostream> #include <queue> #include<map> ...

  6. Golang——结构体创建与初始化、结构体与数组、结构体与切片、结构体与map、结构体作为函数参数、结构体方法、结构体方法继承

    结构体: 结构体是由一系列具有相同类型或不同类型的数据构成的数据集合 结构体可以很好的管理一批有联系的数据,使用结构体可以提高程序的易读性,类似于Java的类一样 不能在结构体直接赋值 字段名必须唯一 ...

  7. golang常用库之mapstructure包 | 多json格式情况解析、GO json 如何转化为 map 和 struct、Go语言结构体标签(Struct Tag)

    文章目录 golang常用库之mitchellh/mapstructure包 | go将map转换为struct 一.msgpack 二.背景 三.多json格式情况解析使用思路 四.mapstruc ...

  8. Go基础:指针、Map、结构体

    目录 Map 按照指定顺序遍历map 元素为map类型的切片 值为切片类型的map 结构体 类型定义和类型别名的区别 struct 取结构体的地址 结构体没有构造函数,可自己实现 结构体初始化 方式一 ...

  9. 结构体成员管理AVClass AVOption之2AVOption,设置选项值

    AVOption用于在FFmpeg中描述结构体中的成员变量.一个AVOption可以包含名称,简短的帮助信息,取值等. 上篇文章中概括了AVClass,AVOption和目标结构体之间的关系.以AVF ...

最新文章

  1. 将pcd格式的点云数据去掉第四维度Itensity信息仍保存为pcd格式
  2. Java与UML交互图
  3. Lambda表达式关于like问题(未解决)
  4. 报名 | 《大数据科学与应用系列讲座》全新上线!
  5. ABAP中操作回车、换行、回车加换行、的方案
  6. 冒泡排序python例题_零基础学python 15 经典算法:冒泡排序法(课后习题答案)...
  7. 用spring搭建微信公众号开发者模式下服务器处理用户消息的加密传输构架(java)
  8. 图解:Activity生命周期
  9. 计算机网络实验七报告6,计算机网络实验七..doc
  10. linux查看jar包内容命令,【达内Java教程】用linux查看jar包内文件命令
  11. mysql删除myisam表数据影响_Mysql 下 Myisam表delete 后 数据恢复问题
  12. Win10 安装 XPS查看器
  13. iTextSharp 添加图片
  14. Qemu复现雄迈摄像头固件漏洞
  15. 天擎终端安全管理系统未授权访问SQL注入漏洞
  16. oem和odm是什么意思?oem与odm区别是什么?
  17. Android广告图片轮播,支持无限循环和设置轮播样式、切换时间等
  18. DFS搜索和输出所有路径
  19. 全球及中国芯片产业研发方向与投资规模预测报告2022版
  20. 【8086汇编】DOS系统中 edit 文本编辑器详解

热门文章

  1. linux 更新cmake_VS2019 v16.4 CMake可用性更新
  2. Java技术分享:集群环境下的定时任务
  3. Java教程之JDBC中的常用接口和类
  4. 小智机器人江苏赞_智能机器人小智
  5. 打卡签到python代码_如何利用Python实现自动打卡签到
  6. Python基本数据类型(三)
  7. 1.Android(了解Android王国)
  8. JavaScript实现以数组形式返回斐波那契数列fibonacci算法(附完整源码)
  9. wxWidgets:键盘 wxWidgets 示例
  10. wxWidgets:wxHyperlinkCtrl类用法