【C++】内建函数对象
#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++】内建函数对象相关推荐
- 内建函数对象(STL)
引言 函数对象是重载函数调用操作符的类,函数对象使用重载的()时,因为类似函数调用,也叫仿函数 所以仿函数(函数对象)就是一个类 我们可以自己建立函数对象,这里就不具体说了:STL中同样给我们提供了一 ...
- C++ 内建函数对象
STL内建了一些函数对象.分为:算数类函数对象,关系运算类函数对象,逻辑运算类仿函数.这些仿函数所产生的对象,用法和一般函数完全相同,当然我们还可以产生无名的临时对象来履行函数功能.使用内建函数对象, ...
- c++中STL的常用算法--1(函数对象,谓词,内建函数对象)
函数对象 重载函数调用操作符的类,其对象常称为函数对象(function object),即它们是行为类似函数的对象,也叫仿函数(functor),其实就是重载"()"操作符,使得 ...
- 【C++】【第六篇-2】【黑马 p215~p242】【list容器】【set/multiset容器】【map/multimap容器】【函数对象】【谓词】【内建函数对象】
[C++][第六篇-2][黑马 p215~p242][list容器][set/multiset容器][map/multimap容器][函数对象][谓词][内建函数对象] 3.7 list容器(p215 ...
- c++STL内建函数对象、仿函数——全面总结(附案例解析)(二十二)
这里有C++STL--全面总结详细教程(附案例解析)(持续更新中) 内建函数对象 内建函数对象意义 概念: STL内建了一些函数对象 分类: 算术仿函数 关系仿函数 逻辑仿函数 用法: 这些仿函数所产 ...
- STL算法——内建函数对象
文章目录 1 全部案例链接 2 内建函数对象 6个算数类函数对象,除了negate是一元运算,其他都是二元运算. 6个关系运算类函数对象,每一种都是二元运算. 逻辑运算类运算函数,not为一元运算,其 ...
- C++ 内建函数对象
头文件<functional> 算数类函数对象 关系运算类函数对象 逻辑运算类仿函数
- STL17-函数对象
仿函数: #include<iostream> #include<vector> #include<algorithm> using namespace std; ...
- 【学习篇】【C++】【函数对象】
函数对象的基本使用 函数对象(仿函数) 1.函数对象使用 2.内建函数对象 a) 算术仿函数 b) 关系仿函数 c) 逻辑仿函数 谓词 1.一元谓词 2.二元谓词 函数对象(仿函数) 重载函数调用操作 ...
- 38-【什么叫规矩 什么叫体统】内建函数
/*STL 内建了一些仿函数 内建函数对象 [分类] 1-算数仿函数 2-关系仿函数 3-逻辑仿函数[算数仿函数] template<class T> T plus<T> // ...
最新文章
- Ubuntu18.04 网络配置
- 阿里云发布三大人工智能产品:推动AI产业落地
- 各种快速幂(qaq)
- 北航计算机网络 传输层实验,北航研究生计算机网络实验_实验七 传输层实验
- matlab里dcgain,制系统的时域分析
- 第二十三篇:在SOUI中使用LUA脚本开发界面
- Axure+SVN——实现多人团队开发
- LeetCode 一题多解
- audio_policy.conf说明(翻译)
- 全球最急需的10项IT技术
- Python-Day2三级菜单
- 结构体内存对齐的原则及原理
- 在Android中使用自带API操作Json
- 已知两点坐标求水平距离_知道两个点的坐标X,Y,如何计算出两点间的距离以及角度,公式是什么...
- 【秋色动人xp情侣主题】
- 求解哈夫曼编码Java实现,哈夫曼编码(Java)
- 【游戏建模全流程】Maya制作赛博朋克机器人模型
- 长链亲脂性二烷基碳菁类染料DiR iodide,DiR细胞膜染料,100068-60-8
- 紫光同创国产FPGA学习之Design Editor
- kali默认密码toor/kali
热门文章
- windows 7 动态分区转基本分区绿色工具(Conver to basic disk)
- opencv 图像去雾
- 20200723每日一句
- 第五章 线性回归 学习笔记上
- 20191001每日一句
- 文献管理三剑客之NoteExpress和Endnote文献的管理,写论文时参考文献的格式
- Atitit 循环处理的新特性 for...else...
- Atitit html5 Canvas 如何自适应屏幕大小
- Atitit 如何让精灵控件运动
- Atitit..组件化事件化的编程模型--(2)---------Web datagridview 服务器端控件的实现原理and总结