struct作为map的key时,需要重载该结构体
当结构体作为map中的key时,这个结构体必须重载"<"运算符, 否则将出错,看我完整代码:
#ifndef WIN32
#include <string.h>
#else
#include <string>
#endif
#include <iostream>
#include <map>
using namespace std;
typedef struct KeyNode_s
{
long key;
bool operator < (const KeyNode_s& s) const
{
return key < s.key;
}
}KeyNode;
typedef struct N_1
{
int c;
}CRTPSession;
typedef struct N_2
{
int d;
}CJOpPlayback;
typedef struct SessionInfo_s
{
CRTPSession* _session;
CJOpPlayback* _opPlayback;
SessionInfo_s()
{
_session = NULL;
_opPlayback = NULL;
}
}SessionInfo;
typedef struct Hello_s
{
char name[20];
Hello_s(const char* s)
{
strcpy(name, s);
}
bool operator < (const Hello_s& s) const
{
return strcmp(name, s.name) < 0;
}
}Hello;
typedef std::pair<KeyNode, Hello> GBClientPair;
typedef std::map<GBClientPair, SessionInfo> RtpSessionList;
// map中的key是pair, 但是pair中有结构体, 所以这些结构体必须重载"<"运算符
void test()
{
KeyNode knode;
SessionInfo sinfo;
Hello h("world");
RtpSessionList list;
GBClientPair pa(knode, h);
list[pa] = sinfo;
}
int main()
{
test();
return 0;
}
struct作为map的key时,需要重载该结构体相关推荐
- 结构体作为STL map的key时需要注意什么? (某公司招聘面试试题)已跪~~~~(_)~~~~
某公司招聘的面试环节, 有这样一个题目:结构体作为STL map的key时需要注意什么? 对于懂STL map的同学来说, 这个题目还是比较easy的, 先看程序: #include <iost ...
- go struct 静态函数_Go语言学习笔记(四)结构体struct 接口Interface 反射reflect...
加 Golang学习 QQ群共同学习进步成家立业工作 ^-^ 群号:96933959 结构体struct struct 用来自定义复杂数据结构,可以包含多个字段(属性),可以嵌套: go中的struc ...
- 原:开辟内存时,可以以结构体为单位,这样测试,是对的吧?
原创一个,也不是太确定,有问题希望大家指正了. #include <stdio.h> typedef struct complex_float { float real; ...
- golang常用库之mapstructure包 | 多json格式情况解析、GO json 如何转化为 map 和 struct、Go语言结构体标签(Struct Tag)
文章目录 golang常用库之mitchellh/mapstructure包 | go将map转换为struct 一.msgpack 二.背景 三.多json格式情况解析使用思路 四.mapstruc ...
- java map byte[],java中byte数组不能作为map的key使用
今天在使用java写代码的时候,用byte数组作为map的key来使用,发现在遍历的时候get到之前传进去的值总是为空,很是困惑,后来查了下资料发现java中的字节数组不能直接作为map的key来使用 ...
- 技巧:Go 结构体如何转换成 map[string]interface{}
本文介绍了Go语言中将结构体转成map[string]interface{}时你需要了解的"坑",也有你需要知道的若干方法. 我们在Go语言中通常使用结构体来保存我们的数据,例如要 ...
- Linux总线驱动-02: struct bus_type 结构体
http://blog.csdn.net/cppgp/article/details/6333359 本文测试系统为:Ubuntu 10.10 x86_64 2.6.35-24-generic 上节中 ...
- 【C 语言】结构体 ( 结构体中嵌套一级指针 | 分配内存时先 为结构体分配内存 然后再为指针分配内存 | 释放内存时先释放 指针成员内存 然后再释放结构头内存 )
文章目录 一.结构体中嵌套一级指针 1.声明 结构体类型 2.为 结构体 变量分配内存 ( 分配内存时先 为结构体分配内存 然后再为指针分配内存 ) 3.释放结构体内存 ( 释放内存时先释放 指针成员 ...
- 内核中用于数据接收的结构体struct msghdr
我们从一个实际的数据包发送的例子入手,来看看其发送的具体流程,以及过程中涉及到的相关数据结构.在我们的虚拟机上发送icmp回显请求包,ping另一台主机172.16.48.1.我们使用系统调用send ...
最新文章
- excel 数据导入(附工具类)
- BZOJ 2038: [2009国家集训队]小Z的袜子(莫队算法例题)
- 深度学习中反向传播得到的损失是一个标量
- jmap java opts_jmap --查看JVM内存使用详情
- Java Servlet的配置文件web.xml配置内容和具体含义
- oc 协议 回调 静态成员_OC问题
- pet缩聚流程图_PET生产工艺流程分解.ppt
- C语言学习—运算符—“~”取反符号的理解
- 计算机课代表专业演讲稿,语文课代表发言稿(精选多篇)
- 浅论信息化环境下的印刷业发展
- 老鸟带你画tiled lines
- Java 添加、读取、删除PPT文档属性
- 全国天气查询API接口
- 【紧急情况】:回宿舍放下书包的我,花了20分钟敲了一个抢购脚本
- Ubuntu/Deepin下Python3.8出现SSL错误的解决方案
- 多路IO复用(Linux)
- Linux下开MC服务器
- java 时间戳间隔_JAVA判断两个时间戳,相隔多少分钟
- RHEL7OSP-6.0的Linux底层管理
- 点击次数、访问次数、访问者人数、综合浏览量和唯一浏览量有何区别?(转)...
热门文章
- 季节性时间序列数据分析_如何指导时间序列数据的探索性数据分析
- 2023. 连接后等于目标字符串的字符串对
- 数据科学领域有哪些技术_领域知识在数据科学中到底有多重要?
- 别把“运气”当“实力”
- 1.移动端测试知识笔记(面试必备,测试点,adb命令)
- C++常用的系统函数
- python学习笔记(一):python入门
- jmeter 插件 监视器 图形界面使用
- JS 限制input框的输入字数,并提示可输入字数
- ajaxfileupload 返回值_ajaxFileUpload上传文件返回json无法解析