最近在使用stl中的map容器时,碰到key为结构体的情况,总结如下,以便提醒自己。

因为之前从没用结构体作为key值,也就没出现这种情况,结果报错后很崩溃看不懂


后来才知道map中的key默认是以less<>升序对元素排序(排序准则也可以修改),也就是说key必须具备operator<对元素排序,而平常我们的用的基本上都是基本类型元素作为key,所以就不存在这个问题了

所以要对结构体中<号进行重载操作才行


然后就可以使用了


Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐