当我想使用STL集来存储C++中的自定义对象时,有很多人说:你应该重载<operator,但如果我想使用find()方法,我认为它可能会使用==运算符来实现.可以任何人给我一些指示?
该标准库 set::find使用等价,而不是平等找到值.你并不需要提供operator ==,只是operator <(或者您指定的任何比较操作set,std::less是默认值).
如果您想知道如何找到您的元素,那么假设默认排序find(x)将返回以下元素e:
!( x < e || e < x )
Run Code Online (Sandbox Code Playgroud)