/*//回调函数
//一般情况下:for_each 所使用的函数对象,参数是引用,没有返回值
void showElem(int &n)
{
cout << n << " ";
}
*/
//transform回调函数
//transform 所使用的函数对象,参数一般不使用引用,而是还有返回值
int showElem2(int n)
{
cout << n << " ";
return n;
}
void main42_transform_pk_foreach()
{
vector<int> v1;
v1.push_back(1);
v1.push_back(3);
v1.push_back(5);
vector<int> v2 = v1;
printV(v1);
for_each(v1.begin(), v1.end(), showElem);
cout << endl;
//transform对回调函数返回值的要求:1、有返回值 2、参数是值传递
transform(v1.begin(), v1.end(), v2.begin(), showElem2);
}
void main()
{
//main41_foreach();
//main42_transform();
main42_transform_pk_foreach();
system("pause");
}
第十二天之for_each函数和transform函数的异同
最新推荐文章于 2021-01-26 09:10:13 发布