最近在使用stl中的map容器时,碰到key为结构体的情况,总结如下,以便提醒自己。
因为之前从没用结构体作为key值,也就没出现这种情况,结果报错后很崩溃看不懂
后来才知道map中的key默认是以less<>升序对元素排序(排序准则也可以修改),也就是说key必须具备operator<对元素排序,而平常我们的用的基本上都是基本类型元素作为key,所以就不存在这个问题了
所以要对结构体中<号进行重载操作才行
然后就可以使用了
最近在使用stl中的map容器时,碰到key为结构体的情况,总结如下,以便提醒自己。
因为之前从没用结构体作为key值,也就没出现这种情况,结果报错后很崩溃看不懂
后来才知道map中的key默认是以less<>升序对元素排序(排序准则也可以修改),也就是说key必须具备operator<对元素排序,而平常我们的用的基本上都是基本类型元素作为key,所以就不存在这个问题了
所以要对结构体中<号进行重载操作才行
然后就可以使用了