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

中文网站编辑云盘搜索引擎入口

中文网站编辑,云盘搜索引擎入口,上市公司网站分析,网页制作的收获与体会简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!

优质专栏:Audio工程师进阶系列原创干货持续更新中……】🚀

人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.

更多原创,欢迎关注:Android系统攻城狮

欢迎关注Android系统攻城狮

1.前言

本篇目的:理解C++之lambda匿名函数用法总结。

2.C++11之lambda匿名函数实例总结

  • Lambda函数是C++11引入的一种匿名函数的方式,它可以在需要函数对象的地方快速定义一个临时的函数。Lambda函数的语法相对简洁,可以方便地捕获局部变量,并且可以作为参数传递给其他函数。

  • Lambda函数的基本语法如下:

[capture](parameters) -> return_type {// 函数体
}
  • 其中,capture是指捕获的变量列表,可以是空的、值传递方式或引用传递方式。parameters是形参列表,可以为空或包含一个或多个形参。return_type是返回类型,可以省略(根据函数体自动推断)或明确指定。函数体是具体的函数实现。

以下是Lambda函数的一些常见用法和特性:

  1. 捕获变量:Lambda函数可以通过捕获变量来访问其作用域外的变量。捕获方式包括值捕获(通过值传递方式访问变量)和引用捕获(通过引用传递方式访问变量)。

  2. 自动类型推断:Lambda函数可以根据函数体自动推断返回类型,也可以显式指定返回类型。

  3. 函数重载:Lambda函数可以像普通函数一样进行重载,可以有多个具有相同函数体的Lambda函数,只需在参数列表中有所区别即可。

  4. 内联调用:Lambda函数通常是在定义的地方即被调用,也可以将Lambda函数作为参数传递给其他函数进行调用。

  5. 使用标准算法库:Lambda函数经常与标准算法库中的函数(如sort、find_if、transform等)配合使用,提供灵活的函数对象。

3.C++11之lambda匿名函数实例

1. 捕获变量、按照特定规则排序

#include <iostream>
#include <vector>
#include <algorithm>int main() {int a = 5;int b = 3;std::vector<int> nums = {2, 5, 1, 7, 3};// 捕获变量 a 和引用捕获变量 b,并按照特定规则排序std::sort(nums.begin(), nums.end(), [a, &b](int x, int y) {return a * x < b * y;});// 输出排序后的结果for (int num : nums) {std::cout << num << " ";}return 0;
}

2.自动类型推断并显式指定返回类型

#include <iostream>int main() {// 自动类型推断的 Lambda 函数auto lambda1 = [](auto x, auto y) {return x + y;};// 显式指定返回类型的 Lambda 函数auto lambda2 = [](int x) -> int {return x * x;};// 使用 Lambda 函数进行计算并输出结果std::cout << "自动类型推断的结果:" << lambda1(3, 4) << std::endl;std::cout << "显式指定返回类型的结果:" << lambda2(5) << std::endl;return 0;
}

3. 函数重载并内联调用

#include <iostream>// Lambda 函数重载
auto lambda1 = [](int x) -> int {return x * x;
};auto lambda2 = [](double x) -> double {return x * x;
};// 具体函数内联调用 Lambda 函数
inline void printSquare(int x, auto squareFunc) {std::cout << "调用的结果为:" << squareFunc(x) << std::endl;
}int main() {int num1 = 5;double num2 = 2.5;printSquare(num1, lambda1); // 调用 lambda1 计算 num1 的平方printSquare(num2, lambda2); // 调用 lambda2 计算 num2 的平方return 0;
}

4.匿名函数内联调用

#include <iostream>int main() {int num1 = 5;int num2 = 2;// 使用Lambda函数计算平方并输出结果auto printSquare = [&]() {int square1 = num1 * num1;  // 计算num1的平方int square2 = num2 * num2;  // 计算num2的平方std::cout << "num1的平方:" << square1 << std::endl;std::cout << "num2的平方:" << square2 << std::endl;};// 调用Lambda函数printSquare();return 0;
}

5.lambda 函数作为参数调用schedule 函数

#include <iostream>
#include <functional>
//schedule的参数没有返回值和参数
void schedule(const std::function<void()>& func) {func();int main() {int x = 10;Scheduler scheduler;// 使用 lambda 函数作为参数调用 schedule 函数schedule([=] {std::cout << "The value of x is: " << x << std::endl;});return 0;
}

6.类中的lambda函数作为参数调用schedule 函数

#include <iostream>
#include <functional>class Scheduler {public://schedule的参数没有返回值和参数void schedule(const std::function<void()>& func) {func();}};int main() {int x = 10;Scheduler scheduler;// 使用lambda成员函数作为参数调用schedule函数scheduler.schedule([=] {schedule([=] {std::cout << "The value of x is: " << x << std::endl;});return 0;
}

7.lambda函数作为参数调用schedule函数,并将返回值放在匿名回调函数中返回。

void schedule(const std::function<void(int x)>& func) {int ret = 100;func(100);}int main() {int x = 10;//schedule([&](int y) {std::cout << "The value of x is: " << x << std::endl;std::cout << "The value of y is: " << y << std::endl;});return 0;
}
http://www.15wanjia.com/news/28265.html

相关文章:

  • 永州冷水滩网站建设淘宝关键词搜索量排名
  • dw 8做的网站怎么上传免费网站做seo
  • 广州做网站的电商最好卖的十大产品
  • 肇庆网站建设公司网站测试报告
  • 摄影设计网站北京最新发布信息
  • 新闻网站建设条件青岛网站建设方案优化
  • 完善集团网站功能建设搜索引擎有哪些种类
  • 阿里云可以做哪些网站专业做网站公司
  • 怎么做营销网站百度竞价托管一月多少钱
  • wang域名 网站如何查看网站收录情况
  • 做交网站seo推广软件怎样
  • 国外空间网站备案广告网站留电话不用验证码
  • 临沂网站seo百度电话查询
  • 专做日淘的网站百度推广关键词技巧定价
  • 免费建站还用学做网站吗裤子seo标题优化关键词
  • 网站建设项目进度表抚州网络推广
  • 网站制作价格上海重庆seo推广公司
  • 现在做网站开发吗找营销推广团队
  • 建设网站代码什么样的人适合做营销
  • wordpress的seo插件嘉兴seo外包平台
  • 加强残联网站建设烟台seo关键词排名
  • 做电影网站采集什么意思奖券世界推广网站
  • 唐山长城网站建设网站监测
  • 网站建设销售问答semen是什么意思
  • 网站建设网页模板下载seo基本概念
  • 网站备案 有效期广告推广精准引流
  • 网站做收录是什么意思怎么做平台推广
  • 怎么做网站教程视频济南最新消息
  • 做网站的英文百度上做广告怎么收费
  • 怎么做网站封面上的图单页面seo搜索引擎优化