stl中的transform()注意其与for_each的不同点(有无返回值)
#include<iostream>
using namespace std;
#include"vector"
#include"algorithm"
#include"list"
#include"functional"
//
void PrintV(vector <int > &temp)
{
for (vector<int>::iterator it = temp.begin(); it != temp.end(); it++)
{
cout << *it << " ";
}
cout << endl;
}
void Printlist(list <int > &temp)
{
for (list<int>::iterator it = temp.begin(); it != temp.end(); it++)
{
cout << *it << " ";
}
cout << endl;
}
int chen10(int &n)
{
//cout << n*10 << " ";
return n * 10;
} int main()
{
vector <int> v1;
v1.push_back(1);
v1.push_back(6);
v1.push_back(3);
v1.push_back(18);
cout << "PrintV(v1) +++++> ";
PrintV(v1);
cout << endl;
//假设op为transform最后一个参数。这点与 for_each区分,for_each不需要返回值的
//op:用一元函数对象op作为参数,执行其后返回一个结果值。
// 它可以是一个函数或对象内的类重载operator()。
//binary_op:用二元函数对象binary_op作为参数,执行其后返回一个结果值。
// 它可以是一个函数或对象内的类重载operator()。
transform(v1.begin(), v1.end(), v1.begin(), chen10);
PrintV(v1);
cout << endl; list<int> mylist;
mylist.resize(v1.size());
transform(v1.begin(), v1.end(), mylist.begin(), chen10);
Printlist(mylist); transform(v1.begin(), v1.end(), mylist.begin(), bind2nd(multiplies<int>(), 10 ));
Printlist(mylist);
system("pause");
}
stl中的transform()注意其与for_each的不同点(有无返回值)的更多相关文章
- Selenium2学习-036-WebUI自动化实战实例-034-JavaScript 在 Selenium 自动化中的应用实例之六(获取 JS 执行结果返回值)
Selenium 获取 JavaScript 返回值非常简单,只需要在 js 脚本中将需要返回的数据 return 就可以,然后通过方法返回 js 的执行结果,方法源码如下所示: /** * Get ...
- JSF页面中使用js函数回调后台bean方法并获取返回值的方法
由于primefaces在国内使用的并不是太多,因此,国内对jsf做系统.详细的介绍的资料很少,即使有一些资料,也仅仅是对国外资料的简单翻译或者是仅仅讲表面现象(皮毛而已),它们的语句甚至还是错误的, ...
- Linux网络中接收 "二进制" 流的那些事 --- 就recv的返回值和strlen库函数进行对话
1. 前言 很多朋友在做网络编程开发的时候可能都遇到这样的问题,在进行接收二进制流的数据的时候,使用strlen库函数来得到 二进制数据长度的时候并不准确.为什么呢??首先,使用strlen进行 ...
- STL算法设计理念 - 函数对象和函数对象当参数和返回值
函数对象: 重载函数调用操作符的类,其对象常称为函数对象(function object),即它们是行为类似函数的对象.一个类对象,表现出一个函数的特征,就是通过"对象名+(参数列表)&qu ...
- 在idea中相同的字符串使用equals()进行比较时,返回值是flase问题
最近在idea中遇到了一个编码的问题,我的程序是从前台传过来一个字符串,判断用户的角色(学生,教师,管理员), 在进行equals()判断时,返回的确是false,然后就在网上查了查,发现是编码的问题 ...
- 分析案例:应用服务无响应,任务管理器中发现大量w3wp僵尸进程----等待异构系统WebService返回值
问题描述: 某二次开发的项目反馈,不定期出现应用服务器无响应的情况,登录服务器发现任务管理器中有大量的w3wp僵尸进程. 分析过程: 针对同一进程每隔15秒抓取dump,连续抓取3个,对比 ...
- 正则表达式中的match,test,exec,search的返回值
今天突然被问到了正则表达式,因为长时间不用突然不知道怎么用了,只知道有这么个东西.然后去网上查了一下,感觉写的不少,但解释的有点模糊,今天我来浅谈一下. 1,match的用法 A,在不加全局“g”的情 ...
- STL中erase()的用法
erase()是STL提供的容器中比较常用的方法之一,它的功能是删除容器中的某些元素,其中它的函数原型如下: 1.有两个参数,且参数类型都是size_t型: string& erase ( s ...
- STL中的二分查找——lower_bound 、upper_bound 、binary_search
STL中的二分查找函数 1.lower_bound函数 在一个非递减序列的前闭后开区间[first,last)中.进行二分查找查找某一元素val.函数lower_bound()返回大于或等于val的第 ...
随机推荐
- How to resize slide dimensions without resizing any objects on the slide?
IF you are competent to unzip the pptx file and modify the XML it can be done, the slide size will c ...
- (zhuan) Paper Collection of Multi-Agent Reinforcement Learning (MARL)
this blog from: https://github.com/LantaoYu/MARL-Papers Paper Collection of Multi-Agent Reinforcemen ...
- MySQL的启动和关闭
1.Windows下 启动服务 mysqld --console 或 net start mysql 关闭服务 mysqladmin -uroot shudown 或 net stop mysql 2 ...
- TIM定时器的应用
TIM定时器的应用 ①输入捕获的应用: 上一节,我已阐述TIM的输入捕获具体作用有两个(如下图): 对输入信号的测量: ...
- Redis,Memcache比较
简单比较: Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储.memcache只支持简单的K/V类型数据, 不过memcache可以缓存其他东西如图片, ...
- Linux安装svn客户端
Red Hat Linux 1.安装$ yum install subversion 2.常见问题1.执行svn报错:cannot set LC_CTYPE localevi /etc/profile ...
- openlayers空间点查询之GetFeatureInfo
在map对象上注册点击方法监听, 这里我用的是wms,当然你也可以查询wfs map.events.register('click', map, function (e) { ...
- gulp的使用介绍及技巧
gulp的使用介绍及技巧 转载: https://www.cnblogs.com/2050/p/4198792.html 1.gulp的安装 首先确保你已经正确安装了nodejs环境.然后以全局方式安 ...
- 无视编码都统一转成unicode 然后截断 例如 。“发发发发发发” 操作之后显示为 “发发发发...”
-- local function checkPlayName( str ) -- str = Utils.utf8_to_unicode(str)-- local retStr = "&q ...
- activity 的跳转
在app文件夹上右键新建空的activity ,名称为DisplayMessageActivity, 修改layout文件夹下activity_display_message.xml <?xml ...