stl map中有时会用到使用自定义对象做key的情况,需要注意:
如果不指定compare函数,就要重载key类的<运算符,要注意重载的<运算符要有互补性,即A<B为true时,B<A必须为false。这种如果重载有漏洞在debug下会报错,但在realise下警告都没有。这样很有可能在使用时发现map中只有一个key。
本文详细阐述了在STLMap中使用自定义对象作为键时需要特别注意的问题,包括如何正确重载<运算符以避免潜在错误,以及在实际应用中可能遇到的陷阱。
stl map中有时会用到使用自定义对象做key的情况,需要注意:
如果不指定compare函数,就要重载key类的<运算符,要注意重载的<运算符要有互补性,即A<B为true时,B<A必须为false。这种如果重载有漏洞在debug下会报错,但在realise下警告都没有。这样很有可能在使用时发现map中只有一个key。

被折叠的 条评论
为什么被折叠?