我有一个每帧创建的项目列表,需要对其进行排序。每个 Item 的第一个排序依据的成员变量是一个unordered_set
.
我已将其移至系统中各处的有序集,以便我可以在项目列表中对其进行排序。但是我在另一个代码中遇到了性能问题。
请记住,每个项目都将被销毁并在每帧的基础上重新创建,我能做些什么来将它们保存在unordered_set
s 中并对其进行排序?
class item
{
public:
unordered_set< int > _sortUS;
int _sortI;
//Other members to sort
bool operator<( const item& that ) const
{
if( _sortI != that._sortI )
{
return _sortI < that._sortI;
}
else if( _sortUS != that._sortUS )
{
return ??? // this is what I need. I don't know how to compare these without converting them to sets
}
}
};