C++ 如何使类在向量内可排序?

C++ 如何使类在向量内可排序?,c++,class,vector,stl,C++,Class,Vector,Stl,我有一个类sayclass stuff{int-id;int-ammont;int-quality;/*…*/}和我有一个向量项。我想通过stuff::id对我的收藏进行排序,并通过staff::id进行搜索。我可以通过find_if和使用一些基于stl lambda的特殊排序函数进行排序。然而,我希望所有这些都默认为vector。我听说有一些方法可以创建哈希函数,但我到处搜索都找不到。。。那么,如何使用默认向量函数使类在向量内部可排序/可搜索?对于排序,实现一个操作符definestuff::

我有一个类say
class stuff{int-id;int-ammont;int-quality;/*…*/}和我有一个
向量项
。我想通过
stuff::id
对我的收藏进行排序,并通过
staff::id
进行搜索。我可以通过find_if和使用一些基于stl lambda的特殊排序函数进行排序。然而,我希望所有这些都默认为vector。我听说有一些方法可以创建哈希函数,但我到处搜索都找不到。。。那么,如何使用默认向量函数使类在向量内部可排序/可搜索?

对于排序,实现一个
操作符define
stuff::operatorid
。您可以使用
std::map
来代替吗?这里的重点是了解如何使用我的类作为
map
pair::first
,按我的业务逻辑定义的类搜索所有基本容器,而不是一般的整数和字符串。
bool operator<(const stuff& s1, const stuff& s2)
{
    // Your comparison here
}