当前位置: 首页 > news >正文

lambda表达式语法

#include <iostream>
int main(int argc, char* argv[])
{
/**
* 基本形式与语法
*/
//如果没有传入参数,参数列表可以省略
auto lambda1 = []() { std::cout << "Hello, World !" << std::endl; };
auto lambda2 = [](int x, int y) -> int //返回参数可使用尾置返回语法
{
if (x > y)
return 1;
else if (x < y)
return -1;
else
return 0;
};
/**
* 输出:
* Hello, World !
*/
lambda1();
/**
* 输出:
* -1
*/
std::cout << lambda2(1, 2) << std::endl;
/**
* 输出:
* 1
*/
std::cout << lambda2(2, 1) << std::endl;
/**
* 输出:
* 0
*/
std::cout << lambda2(1, 1) << std::endl;
return 0;
}

捕获

#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
int main(int argc, char* argv[])
{
/**
* lambda表达式捕获外部变量示例
*/
std::vector<int> vec{ 1,2,3,4,5,6,7,8,9,10 };
std::string str;
//&str为引用捕获,在函数内部可以被修改
std::for_each(vec.begin(), vec.end(), [&str](int n) {
str.append(std::to_string(n)).append(",");
});
str.pop_back();
/**
* 输出:
* 1,2,3,4,5,6,7,8,9,10
*/
std::cout << str << std::endl;
//argc为值捕获(拷贝),该变量在函数内部修改后不会影响外部变量
std::for_each(argv, argv + argc, [argc](char* args) {
/**
* 输出命令行参数
*/
std::cout << args << std::endl;
});
/**
* 关于其他捕获语法:
* [=]: 所有外部变量的捕获均为值捕获(拷贝)
http://www.jsqmd.com/news/1099549/

相关文章:

  • 设备维修工工资低怎么办?3条破局思路与1个“万金油”技能
  • 如何用Goo Engine的4个魔法节点打造惊艳的动漫风格渲染
  • 几句话概括,MySQL 半同步中,after_commit 与 after_sync 有什么区别
  • MHMarkets迈汇:“惠普携手开放人工智能”
  • Kiran-cc-daemon插件开发完全手册:如何为麒麟桌面扩展新的控制功能
  • Moneta Markets亿汇:“人工智能合规风险升温”
  • 软件测试的四个阶段【单元测试、集成测试、系统测试和验收测试】
  • go: Fail-Fast Pattern
  • ​​​​​​​旧尺子量新人:当求职者的“新技能”遇上面试官的“旧思维”
  • 万能遥控器app,各类家具都可用,推荐安装!
  • 【MES】自研MES采集设备数据的坑
  • 【2026最新】Adobe InDesign:Id2026专业排版神器
  • 基于STM32单片机的颜色识别 TCS3200 RGB 检测系统2(设计源文件+万字报告+讲解)(支持资料、图片参考_降重降ai)
  • Python 基础入门:列表、字典、函数与类,一篇搞定核心概念本文将从零开始,带你掌握 Python 最核心的四个概念:列表、字典、函数和类。
  • emanjusaka——彼岸花开可奈何
  • 2026主流EPC项目协同平台横向选型与避坑评测
  • Manus小程序邀请码获取渠道+教程,附手机版+PC官网
  • NET 安装 Aspose.Email for Python - Outlook SDK 安装
  • 基于STM32单片机火灾报警系统 智能楼宇 烟雾温度火焰防盗无线2(设计源文件+万字报告+讲解)(支持资料、图片参考_降重降ai)
  • Qt阅读器-缩略图
  • Go语言代码覆盖率实现一、什么是代码覆盖率
  • LLM喂文件神器-讲讲开源文件转换工具 file2md
  • 企业DLP选型指南:从入门到决策,一篇讲透
  • 10 种 RAG 模式
  • 你的 Agent 架构选错了:越复杂的 Agent 系统,越可能走向失败
  • 工业互联网组建与维护核心流程与实战要点
  • 什么是 Vaadin?
  • Fan Control完整教程:5个实用技巧优化电脑散热性能
  • 鸿蒙系统进一步学习(三):ArkUI的差分渲染
  • 3D CAD SDK 安装