首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用functor作为谓词的C++ STL程序

C++ STL程序使用functor作为谓词

在C++中,使用functor作为谓词可以增强程序的功能和灵活性。以下是一个使用functor作为谓词的C++ STL程序的示例:

代码语言:c++
复制
#include <iostream>
#include <vector>
#include <algorithm>

// 定义一个functor对象
class MyFunctor {
public:
    bool operator()(const int& a, const int& b) const {
        return a > b;
    }
};

int main() {
    // 创建一个vector
    std::vector<int> numbers = {1, 5, 3, 7, 2};

    // 使用std::sort()函数对vector进行排序
    std::sort(numbers.begin(), numbers.end(), MyFunctor());

    // 输出排序后的vector
    for (int num : numbers) {
        std::cout << num << " ";
    }
    std::cout << std::endl;

    return 0;
}

在上面的程序中,我们定义了一个MyFunctor类,该类包含一个成员函数operator(),该函数的返回类型为bool,参数为两个整数。在main()函数中,我们创建了一个std::vector<int>类型的变量numbers,并使用std::sort()函数对其进行排序。在这个例子中,我们使用MyFunctor类作为std::sort()函数的谓词。std::sort()函数将使用MyFunctor对象的operator()函数来比较numbers向量中的元素,并进行升序排序。最后,我们使用for循环输出排序后的vector。

这个程序演示了如何使用C++ STL中的functor对象对vector进行排序。通过使用functor,我们可以将灵活的逻辑与排序算法相结合,并避免修改原始函数的代码。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券