本文主要是介绍set容器中放入结构体时需要重载运算符,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今天在做百度之星热身赛时候 发现我的Set容器不行了 由于放入的是结构体 总是报错
找了n久的错误啊 也没有找到 最后和别人的代码对比才发现少些了一部分
在网上又搜搜 发现当set容器放入结构体内容是 需要重载运算符< 也就是写出来比较规则
struct node
{int a,b,c,d;bool friend operator<(node x,node y){if(x.a<y.a) return true;if(x.a==y.a&&x.b<y.b) return true;if(x.a==y.a&&x.b==y.b&&x.c<y.c) return true;if(x.a==y.a&&x.b==y.b&&x.c==y.c&&x.d<y.d) return true;return false;}
}code[1005],ip[55];
写完这些之后就可以定义set<node>s
这篇关于set容器中放入结构体时需要重载运算符的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!