当前位置:   article > 正文

C++中常见的函数对象_std::plus

std::plus

一、C++STL库中常见的函数对象有:

1、std::less 和 std::greater:用于比较两个值的大小,其中 std::less 表示从小到大排序(默认排序方式),std::greater 表示从大到小排序。 2、std::plus 和 std::minus:用于执行加法和减法操作。 3、std::multiplies 和 std::divides:用于执行乘法和除法操作。 4、std::modulus:用于执行取模运算。 5、std::logical_and、std::logical_or 和 std::logical_not:用于执行逻辑与、逻辑或和逻辑非运算。 6、std::equal_to、std::not_equal_to、std::greater_equal 和 std::less_equal:用于比较两个值的大小关系,分别表示相等、不相等、大于等于和小于等于。 7、std::function:用于封装函数,可以将任何可调用对象(函数、函数指针、函数对象等)封装成一个可调用对象。

二、代码示例

示例1:std::greater的使用示例

  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. #include <functional>
  5. using namespace std;
  6. int main() {
  7. vector<int> vec = { 1, 3, 5, 2, 4 };
  8. // 使用 std::sort 算法对 vec 进行排序
  9. sort(vec.begin(), vec.end(), greater<int>());
  10. // 输出排序后的结果
  11. for (int i : vec) {
  12. cout << i << " ";
  13. }
  14. return 0;
  15. }

示例2:multiplies的使用示例

  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. #include <functional>
  5. using namespace std;
  6. int main() {
  7. vector<int> vec1 = { 1, 2, 3, 4 };
  8. vector<int> vec2 = { 2, 4, 6, 8 };
  9. vector<int> result(vec1.size());
  10. // 使用 std::transform 算法对 vec1 和 vec2 进行元素级别的乘法运算
  11. transform(vec1.begin(), vec1.end(), vec2.begin(), result.begin(), multiplies<int>());
  12. // 输出运算结果
  13. for (int i : result) {
  14. cout << i << " ";
  15. }
  16. return 0;
  17. }

结果result = {2, 8, 18, 32}

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/818497
推荐阅读
相关标签
  

闽ICP备14008679号