在C++类中调用sort中的比较器函数,可以通过以下步骤实现:
class MyClass {
public:
static bool comparator(int a, int b) {
// 比较逻辑,返回比较结果
}
};
#include <algorithm>
#include <vector>
int main() {
std::vector<int> nums = {3, 1, 4, 1, 5, 9, 2, 6, 5};
std::sort(nums.begin(), nums.end(), MyClass::comparator);
// 排序后的nums
for (int num : nums) {
// 输出排序后的元素
}
return 0;
}
在上述示例中,我们使用了std::sort函数对nums进行排序,并传入了MyClass::comparator作为比较器函数。sort函数会根据比较器函数的返回值来确定元素的顺序。
需要注意的是,比较器函数必须是静态成员函数,因为非静态成员函数需要通过类的实例来调用,而sort函数无法提供类的实例作为参数。
此外,根据具体的需求,可以根据不同的数据类型和排序规则来定义不同的比较器函数。
领取专属 10元无门槛券
手把手带您无忧上云