for_each函数的简单使用方法

本文详细介绍了C++标准库中的for_each函数,它提供了一种简洁的迭代器遍历方式。通过实例展示了如何使用for_each进行无参和带参的函数调用,包括打印数组元素及结合bind2nd与ptr_fun进行参数传递。for_each函数简化了循环结构,提高了代码可读性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

for_each函数的使用

参考链接:https://blog.csdn.net/u014613043/article/details/50619254

头文件: algorithm.h

函数特点:相较于迭代器遍历来说一种更为简洁的循环方式

函数声明:

template<typename InputIterator, typename Function>
Function for_each(InputIterator beg, InputIterator end, Function f) {
  while(beg != end) 
    f(*beg++);
}

参数说明:beg和end为循环起始截止对象,f是一个以循环成员对象作为入参的公共函数

不带参数的用法举例:

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

void PrintFunc(int num)
{
    cout <<"Num is :" << num <<endl;
}

int main(int argc, char *argv[])
{
    vector<int> Arr{1, 2, 3, 4, 5};
    for_each(Arr.begin(), Arr.end(), PrintFunc);
    return 0;
}

输出结果:
Num is :1
Num is :2
Num is :3
Num is :4
Num is :5

带参数用法举例:

void fun(int i, const char* str)
{
    cout<<str<<i<<endl;
}

int main()
{
    int a[] = { 1, 2, 3, 4};
    vector<int> v(a, a+sizeof(a)/sizeof(int));
    for_each(v.begin(), v.end(), bind2nd(ptr_fun(fun), "Element:"));
}

输出:
Element:1
Element:2
Element:3
Element:4

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值