标签:end key 区别 div operator 使用 优先 自己 bsp
在使用STL时,由于解题的需要我们常常将结构体嵌入到字典或者集合中,,如果我们这样写:
struct stu{ int a; int b; }; mp<stu,int >mp;
在编译的时候会报错,,因为map和set会对STL中的元素排序,如果说直接嵌入的话,, 会使map无法对key进行排序,所以要自己在结构体中定义排序方法;
struct stu{ int a; int b; bool friend operator <(const stu &x,const stu &y){ if(x.a!=y.a) return x.a>y.a; return x.b>y.b;//使结构体根据优先根据a排序其次根据b排序 } }; mp<stu,int >mp;
这样写的话就可以编译通过了。
对结构体的排序常常用 bool cmp 然后一行sort ;;这个排序和结构体内置函数排序还是有区别的;具体是什么个区别还真的不知道;反正如果可以用cmp排序的话 尽量用cmp
标签:end key 区别 div operator 使用 优先 自己 bsp
原文地址:https://www.cnblogs.com/Accepting/p/11222727.html