class A{
public:
A(int a) : a_(a){
}
bool operator<(const A& a) {
return a_ < a.a_;
}
int a_=0;
};
bool func(const A& l, const A& r) {
return l.a_ > r.a_;
}
void print(vector<A>& vec) {
for (auto& i : vec) {
cout << i.a_ << ", ";
}
cout << endl;
}
int main() {
vector<A> vec = {
4,3,2,9
};
sort(vec.begin(), vec.end());
cout << "使用默认的A成员<方法:";
print(vec);
sort(vec.begin(), vec.end(), func);
cout << "使用自定义大小比较函数:";
print(vec);
}
输出结果:
使用默认的A成员<方法:2, 3, 4, 9,
使用自定义大小比较函数:9, 4, 3, 2,