cb25a_c++_函数对象简介
cb25a_c++_函数对象简介
预定义的函数对象
https://blog.csdn.net/txwtech/article/details/104382505
negate<type>()
plus<type>()
minus<type>()
multilies<type>()
divides<type>()
modulus<type>()
equal_to<type>()
not_equal_to<type>()
less<type>()
greater<type>()
less_equal<type>()
greater_equal<type>()
logical_not<type>()
logical_and<type>()
logical_or<type>()
自定义的函数对象,智能型函数,比普通速度快。有自己的状态
cout << "用函数对象,printInt()自定义的" << endl;
for_each(ivec.begin(), ivec.end(), PrintInt());
容器和函数对象
算法和函数对象
for_each使用
/*cb25a_c++_函数对象简介
预定义的函数对象
https://blog.csdn.net/txwtech/article/details/104382505
negate<type>()
plus<type>()
minus<type>()
multilies<type>()
divides<type>()
modulus<type>() equal_to<type>()
not_equal_to<type>()
less<type>()
greater<type>()
less_equal<type>()
greater_equal<type>()
logical_not<type>()
logical_and<type>()
logical_or<type>() 自定义的函数对象,智能型函数,比普通速度快。有自己的状态
cout << "用函数对象,printInt()自定义的" << endl;
for_each(ivec.begin(), ivec.end(), PrintInt());
容器和函数对象
算法和函数对象
for_each使用
*/ #include <iostream>
#include <set>
#include <algorithm>
#include <vector> using namespace std; void print(int elem)
{
cout << elem << ' ';
}
//函数对象,class必须要有operator()
class PrintInt
{
public:
void operator()(int elem) const
{
cout << elem << ' ';
}
}; int main()
{
//set自动排序,红黑树,二叉树
//set<int> aa;//省略后,默认的函数对象就是less<int>
set<int, less<int>> b;//less<int>从小到大的顺序
set<int, greater<int>> a;//从大到小
a.insert();
a.insert();
a.insert();
a.insert();
a.insert();
//for (set<int>::iterator iter = a.begin(); iter != a.end(); ++iter)
for(set<int,greater<int>>::iterator iter=a.begin();iter!=a.end();++iter)
cout << *iter << endl; vector<int> ivec;
for (int i = ; i <= ; ++i)
{
ivec.push_back(i);
}
cout << "用for_each算法" << endl;
//for_each(ivec.begin(), ivec.end, 函数或函数对象);
for_each(ivec.begin(), ivec.end(), print);
cout << "用函数对象,printInt()自定义的" << endl;
for_each(ivec.begin(), ivec.end(), PrintInt());//函数对象,自动调用operator()函数
return ;
}
cb25a_c++_函数对象简介的更多相关文章
- JS基础_函数的简介
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- C++进阶 STL(3) 第三天 函数对象适配器、常用遍历算法、常用排序算法、常用算数生成算法、常用集合算法、 distance_逆序遍历_修改容器元素
01昨天课程回顾 02函数对象适配器 函数适配器是用来让一个函数对象表现出另外一种类型的函数对象的特征.因为,许多情况下,我们所持有的函数对象或普通函数的参数个数或是返回值类型并不是我们想要的,这时候 ...
- (63)Wangdao.com第十天_预处理、预解析_函数 上下文对象、参数列表对象
预解析.预处理 1. 在全局代码执行之前,js 引擎 就会创建一个栈来存储管理所有的 执行上下文对象 2. 在 全局执行上下文 window 确定以后,进行压栈 3. 在 函数执行上下文对象 确定以后 ...
- 1. js数据类型_对象_函数_内存
1. js数据类型有哪些? 基本(值)类型 Number ---- 任意数值 String ---- 任意字符串 Boolean ---- true/false undefined ---- unde ...
- STL_算法_中使用的函数对象
写在前面: STL算法中的 函数对象的功能: (1).都是提供一种比较的函数,比较相邻的左右两个值的 相等/大小 等的关系, (2).返回值都是bool :该返回值 貌似是指明 遍历元素是否还要继续往 ...
- 【Python】函数基础简介
一.函数 1. 简介 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段.函数能提高应用的模块性,和代码的重复利用率. 2. 组成 函数代码块以 def 关键词开头,后接函数名和圆括号( ...
- main函数的简介
//// main函数的简介.h// IOS笔记//// Created by .// Copyright © 2015年 All rights reserved.// //#import ...
- API各函数作用简介
API各函数作用简介 1.控件与消息函数 AdjustWindowRect 给定一种窗口样式,计算获得目标客户区矩形所需的窗口大小 AnyPopup 判断屏幕上是否存在任何弹出式窗口 ArrangeI ...
- mssql sql server 其它系统函数 parsename 点语法字符串分割函数应用简介
转自:http://www.maomao365.com/?p=4534 一. parsename函数功能简介 parsename函数的主要功能是:可以快速的使用”.”关键字分解字符串,并返回.分解后指 ...
随机推荐
- Pygame 框架安装教程(Python3.6为例)
1.python版本是3.6,最新的pygame是1.9.3,这两个最好都用32位的. pygame1.9.3下载地址:http://www.lfd.uci.edu/~gohlke/pythonlib ...
- Longest Mountain in Array 数组中的最长山脉
我们把数组 A 中符合下列属性的任意连续子数组 B 称为 “山脉”: B.length >= 3 存在 0 < i < B.length - 1 使得 B[0] < B[1] ...
- 【Ubuntu】快捷键
版本:Ubuntu18.04 1. 终端(terminal ) alt + ctrl + t # 打开终端 shift + shift + t # 新建终端标签页 ctrl + c # 强制停止程序运 ...
- Java的基本数据类型及其封装类
Java的基本数据类型及其封装类 一.8种基本数据类型 二.基本数据类型的包装类及大小 三.基本数据类型和封装类的区别 定义不同.封装类是对象,基本数据类型不是: 使用方式不同.封装类需要先new初始 ...
- Unity 离线建造系统
很多游戏,特别是养成类手游,都会有自己独特的建造系统,一个建造装置的状态循环或者说生命周期一般是这样的: 1.准备建造,设置各项资源的投入等 2.等待一段倒计时,正在建造中 3.建造结束,选择是否收取 ...
- R语言入门一
一.数据分析相关概念 数据:是指对事物或对象各方面进行描述的符号,包括事物的基本属性.特征.性质.状态.相互关系等:比如描述人的数据有:身高.年龄.性别.兴趣.性格.婚姻状态等等. 分析:是指把事物或 ...
- 开心一下-实现基于Java一个中文编程语言
https://mp.weixin.qq.com/s/TsTiLVF5D07-wbDMk9bsyQ 这不是认真的,不是真的要去实现一个中文编程语言. 多年以前,有位同学把Java代码发给我说帮 ...
- Java实现 蓝桥杯VIP 算法训练 开心的金明
题目描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:"你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过NN元钱 ...
- 第二届蓝桥杯C++B组国(决)赛真题
以下代码仅供参考,解答部分来自网友,对于正确性不能保证,如有错误欢迎评论 四方定理. 数论中有著名的四方定理:所有自然数至多只要用四个数的平方和就可以表示. 我们可以通过计算机验证其在有限范围的正确性 ...
- Java实现LeetCode_0012_IntegerToRoman
package javaLeetCode.primary; import java.util.Scanner; public class IntegerToRoman_12 { public stat ...