@[Andrew82](/space/show?uid=109378) 默认struct没有<运算符,直接用优先队列会出错
by t162 @ 2019-02-17 20:59:24
个人理解是传入小于号右边的操作数然后进行比较
我也不知道真实的情况qwq
by qwaszx @ 2019-02-17 20:59:44
完全可以改成
`friend operator < (node a, node b) { return a.x < b.x; }`
by 小粉兔 @ 2019-02-17 21:00:30
`friend bool operator`
by 小粉兔 @ 2019-02-17 21:00:49
@[Bambusoideae](/space/show?uid=106140) 相当于是直接
```
struct node
{
int x;int y;
}
priority_queue<node>q;
```
会报错
by Andrew82 @ 2019-02-17 21:02:09
@[Andrew82](/space/show?uid=109378) 是的
by t162 @ 2019-02-17 21:02:44
@[小粉兔](/space/show?uid=10703) 感觉这个要好理解的多
by Andrew82 @ 2019-02-17 21:03:46
我支持小粉兔大佬的写法 似乎这样就能类比sort里面的cmp函数了@[Andrew82](/space/show?uid=109378)
by 稚名真白 @ 2019-02-17 21:04:08
@[qwaszx](/space/show?uid=22136)
@[小粉兔](/space/show?uid=10703)
@[Bambusoideae](/space/show?uid=106140)
@[稚名真白](/space/show?uid=77807)
谢谢大佬们,学到了!
by Andrew82 @ 2019-02-17 21:05:56
operator是重载运算符,可以把诸如><+-\*/=的运算符重载(可以理解为重定义)在结构体里用,你可以把它当基于符号的函数看。
语法:
```cpp
[返回值类型] [符号] [operator] (传入值){
return ...;
}
```
by _ctz @ 2019-02-17 21:09:24