#include "iostream"
#include "vector"
#include "algorithm"
using namespace::std;
void zsshow(const int &no)
{
    cout<<"亲爱的"<<no<<"号:我是一只傻傻鸟。\n";
}
//表白仿函数
class czs
{
public:
    void operator()(const int &no)
    {
        cout<<"亲爱的"<<no<<"号:我是一字只傻傻鸟。\n";
    }
};
int main()
{
    vector<int> vv={5,8,3};//存放超女标编号的容器
    //第三个参数仿函数。
    for_each(vv.begin(),vv.end(),zsshow);
    //第三个参数是仿函数
    for_each(vv.begin(),vv.end(),czs());
    //第三个参数是lambda表达式
//    for_each(vv.begin(),vv.end(),[](const int&no){
//        cout<<"亲爱的"<<no<<"号:我是一只傻傻鸟。\n";
//    });
    auto f=[](const int&no)
    {
        cout<<"亲爱的"<<no<<"号:我是一只傻傻鸟。\n";
    };
    for_each(vv.begin(),vv.end(),f);
    f(338);//像用普通函数一样使用lambda函数。
    ///
    int jj=3;
    double kk=9.9;
    auto g=[jj,&kk](const int&no)
    {
        cout<<"jj="<<jj<<endl;
        cout<<"kk="<<++kk<<endl;
        cout<<"亲爱的"<<no<<"号:我是一只傻傻鸟。\n";
    };
    g(8);
}
亲爱的5号:我是一只傻傻鸟。
亲爱的8号:我是一只傻傻鸟。
亲爱的3号:我是一只傻傻鸟。
亲爱的5号:我是一字只傻傻鸟。
亲爱的8号:我是一字只傻傻鸟。
亲爱的3号:我是一字只傻傻鸟。
亲爱的5号:我是一只傻傻鸟。
亲爱的8号:我是一只傻傻鸟。
亲爱的3号:我是一只傻傻鸟。
亲爱的338号:我是一只傻傻鸟。
jj=3
kk=10.9
亲爱的8号:我是一只傻傻鸟。

发表回复