#include<iostream>
using namespace std;
#include<functional>//内建函数对象头文件
//内建函数对象 算数仿函数//negate 一元仿函数 去反仿函数void test01()
{negate<int>n;cout << n(50) << endl;
}//plus 二元仿函数 加法
void test02()
{plus<int>p;cout << p(10, 20) << endl;
}int main() {//test01();test02();system("pause");return 0;
}
//总结:使用内建函数对象时,需要引入头文件#include<functional>

#include<iostream>
using namespace std;
#include<vector>
#include<algorithm>
#include<functional>
//内建函数对象--关系仿函数
//大于greaterclass MyCompare
{public:bool operator()(int v1, int v2){return v1 < v2;}
};void test01()
{vector<int>v;v.push_back(10);v.push_back(30);v.push_back(40);v.push_back(20);v.push_back(50);for (vector<int>::iterator it = v.begin(); it != v.end(); it++){cout << *it << " ";}cout << endl;//降序//sort(v.begin(), v.end(), MyCompare());//greater<int>()内建函数对象sort(v.begin(), v.end(), greater<int>());for (vector<int>::iterator it = v.begin(); it != v.end(); it++){cout << *it << " ";}cout << endl;
}   int main() {test01();system("pause");return 0;
}
//总结:关系仿函数中最常用的就是greater<>大于

#include<iostream>
using namespace std;
#include<vector>
#include<algorithm>
#include<functional>//内建函数对象 逻辑仿函数
//逻辑非 logical_notvoid test01()
{vector<bool>v;v.push_back(true);v.push_back(false);v.push_back(true);v.push_back(false);for (vector<bool>::iterator it = v.begin(); it != v.end(); it++){cout << *it << " ";}cout << endl;//利用逻辑非 将容器v搬运到容器v2中,并执行取反操作vector<bool>v2;v2.resize(v.size());transform(v.begin(), v.end(), v2.begin(), logical_not<bool>());for (vector<bool>::iterator it = v2.begin(); it != v2.end(); it++){cout << *it << " ";}cout << endl;}int main() {test01();system("pause");return 0;
}
//总结:逻辑仿函数实际应用较少,了解即可

【C++】内建函数对象相关推荐

  1. 内建函数对象(STL)

    引言 函数对象是重载函数调用操作符的类,函数对象使用重载的()时,因为类似函数调用,也叫仿函数 所以仿函数(函数对象)就是一个类 我们可以自己建立函数对象,这里就不具体说了:STL中同样给我们提供了一 ...

  2. C++ 内建函数对象

    STL内建了一些函数对象.分为:算数类函数对象,关系运算类函数对象,逻辑运算类仿函数.这些仿函数所产生的对象,用法和一般函数完全相同,当然我们还可以产生无名的临时对象来履行函数功能.使用内建函数对象, ...

  3. c++中STL的常用算法--1(函数对象,谓词,内建函数对象)

    函数对象 重载函数调用操作符的类,其对象常称为函数对象(function object),即它们是行为类似函数的对象,也叫仿函数(functor),其实就是重载"()"操作符,使得 ...

  4. 【C++】【第六篇-2】【黑马 p215~p242】【list容器】【set/multiset容器】【map/multimap容器】【函数对象】【谓词】【内建函数对象】

    [C++][第六篇-2][黑马 p215~p242][list容器][set/multiset容器][map/multimap容器][函数对象][谓词][内建函数对象] 3.7 list容器(p215 ...

  5. c++STL内建函数对象、仿函数——全面总结(附案例解析)(二十二)

    这里有C++STL--全面总结详细教程(附案例解析)(持续更新中) 内建函数对象 内建函数对象意义 概念: STL内建了一些函数对象 分类: 算术仿函数 关系仿函数 逻辑仿函数 用法: 这些仿函数所产 ...

  6. STL算法——内建函数对象

    文章目录 1 全部案例链接 2 内建函数对象 6个算数类函数对象,除了negate是一元运算,其他都是二元运算. 6个关系运算类函数对象,每一种都是二元运算. 逻辑运算类运算函数,not为一元运算,其 ...

  7. C++ 内建函数对象

    头文件<functional> 算数类函数对象 关系运算类函数对象 逻辑运算类仿函数

  8. STL17-函数对象

    仿函数: #include<iostream> #include<vector> #include<algorithm> using namespace std; ...

  9. 【学习篇】【C++】【函数对象】

    函数对象的基本使用 函数对象(仿函数) 1.函数对象使用 2.内建函数对象 a) 算术仿函数 b) 关系仿函数 c) 逻辑仿函数 谓词 1.一元谓词 2.二元谓词 函数对象(仿函数) 重载函数调用操作 ...

  10. 38-【什么叫规矩 什么叫体统】内建函数

    /*STL 内建了一些仿函数 内建函数对象 [分类] 1-算数仿函数 2-关系仿函数 3-逻辑仿函数[算数仿函数] template<class T> T plus<T> // ...

最新文章

  1. Ubuntu18.04 网络配置
  2. 阿里云发布三大人工智能产品:推动AI产业落地
  3. 各种快速幂(qaq)
  4. 北航计算机网络 传输层实验,北航研究生计算机网络实验_实验七 传输层实验
  5. matlab里dcgain,制系统的时域分析
  6. 第二十三篇:在SOUI中使用LUA脚本开发界面
  7. Axure+SVN——实现多人团队开发
  8. LeetCode 一题多解
  9. audio_policy.conf说明(翻译)
  10. 全球最急需的10项IT技术
  11. Python-Day2三级菜单
  12. 结构体内存对齐的原则及原理
  13. 在Android中使用自带API操作Json
  14. 已知两点坐标求水平距离_知道两个点的坐标X,Y,如何计算出两点间的距离以及角度,公式是什么...
  15. 【秋色动人xp情侣主题】
  16. 求解哈夫曼编码Java实现,哈夫曼编码(Java)
  17. 【游戏建模全流程】Maya制作赛博朋克机器人模型
  18. 长链亲脂性二烷基碳菁类染料DiR iodide,DiR细胞膜染料,100068-60-8
  19. 紫光同创国产FPGA学习之Design Editor
  20. kali默认密码toor/kali

热门文章

  1. windows 7 动态分区转基本分区绿色工具(Conver to basic disk)
  2. opencv 图像去雾
  3. 20200723每日一句
  4. 第五章 线性回归 学习笔记上
  5. 20191001每日一句
  6. 文献管理三剑客之NoteExpress和Endnote文献的管理,写论文时参考文献的格式
  7. Atitit 循环处理的新特性 for...else...
  8. Atitit html5 Canvas 如何自适应屏幕大小
  9. Atitit  如何让精灵控件运动
  10. Atitit..组件化事件化的编程模型--(2)---------Web datagridview 服务器端控件的实现原理and总结