匿名函数和for_each用法

匿名函数,C++11的 for_each 用法

 

复制代码
#include <iostream>
#include <algorithm>
#include "testClassA.h"

using namespace std;


void tiwce(int& elem)
{
elem = elem * 2;
}
// 不带参数,不带返回值
// [](){cout << 123 << ","; };
// []{cout << 123 << ","; };

// 不带参数,带返回值
// []()->(int){cout << 123 << ","; return 666; };


// 带参数,带返回值的 
//[](int elem)->(int){cout << elem << ","; return 666; };

// 带参数,不带返回值, lamb 表达式
// [](int elem){cout << elem << ","; };

 

 

int main()
{
P px = { 77, 5 };
int values[] {1, 2, 3, 4, 5, 6, 7, 8};

//    for_each(&values[0], &values[5], tiwce);
//    for_each(&values[0], &values[5], [](int& elem){elem = elem * 2; });
//    for_each(&values[0], &values[5], [](int elem){cout << elem << ","; });
//for (auto v : values)
//{
//    cout << v << ", ";
//}

int x = 0;
int y = 42;


cout << "1111111111" << endl;

auto qqq = [x, &y]{
std::cout << "X:" << x << endl;
std::cout << "Y:" << y << endl;
++y;
};

cout << "22222222" << endl;
x = y = 77;
cout << x << endl;
cout << "333333" << endl;

qqq();
qqq();
cout << "Final:" << "X:" << x << ",Y:" << y << endl;

cout << endl;
cout << "C++11 standard" << endl;
system("pause");
return 0;
}
复制代码

 

posted @   He_LiangLiang  阅读(726)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示