前言
在使用map时,有时候我们需要自定义键值,才能符合程序的需要。
比如我们需要使用自定义的结构体来作为map的键值:
struct Test
{
int x;
int y;
};
这样直接使用的话,在编译时会出问题:
Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped
看错误是说,键值无法比较。因为map的键值是自动比较后进插入的,键值是递增的。
map可以用结构体作为健值
现在我们自定义的键值,编译器无法进行比较,找不到类似的模板,所以报错。
既然是没有‘<’,那我们自己重载小于操作符应该就可以了: