小编Pau*_*nto的帖子

我可以将参数传递给std :: vector排序函数吗?

考虑班级:

MyClass {
    int varA;
    int varB;
};
Run Code Online (Sandbox Code Playgroud)

我有一个指向MyClass对象的指针向量:

std::vector<MyClass*> Vec;
Run Code Online (Sandbox Code Playgroud)

我想使用相同的排序函数根据varA或varB对向量进行排序,即:

bool SortFunction(const MyClass* obj1, const MyClass* obj2, const short type) {
     if( type == VARA_ID )
         return obj1->varA < obj2->varA;
     else if( type == VARB_ID )
         return obj1->varB < obj2->varB;
}
Run Code Online (Sandbox Code Playgroud)

AFAICT这是不可能的.如果不使用外部库,最优雅的方法是什么?

c++ sorting stl vector

13
推荐指数
2
解决办法
7042
查看次数

标签 统计

c++ ×1

sorting ×1

stl ×1

vector ×1