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

网站推广软文常用的网络推广平台有哪些呢

网站推广软文,常用的网络推广平台有哪些呢,八戒,英文网站建设中文章目录 C11中的Lambda表达式1.lambda表达式形式2.向lambda传递参数3.使用捕获列表4.lambda捕获和返回1.值捕获2.引用捕获3.隐式捕获4.可变lambda5.指定lambda的返回类型 C11中的Lambda表达式 1.lambda表达式形式 lambda表达式具有以下形式 [capture list] (parameter list)… 文章目录 C11中的Lambda表达式1.lambda表达式形式2.向lambda传递参数3.使用捕获列表4.lambda捕获和返回1.值捕获2.引用捕获3.隐式捕获4.可变lambda5.指定lambda的返回类型 C11中的Lambda表达式 1.lambda表达式形式 lambda表达式具有以下形式 [capture list] (parameter list) - return type {function body} 其中[capture list] 是捕获列表是一个lambda所在函数中定义的局部变量的列表通常为空。return type、(parameter list)、{function body}和普通函数一样分别表示返回类型、参数列表、函数体。但是和普通函数不同lambda必须尾置返回。 我们可以忽略参数列表和返回类型但是必须永远包含捕获列表和函数体。 例如 auto f [] {return 42;}上述例子中忽略参数列表表示函数参数为空忽略返回类型则会根据函数体中的代码推断出返回类型。 2.向lambda传递参数 和普通的函数类似调用lambda时给定的实参被用来初始化lambda的形参通常实参和形参的类型必须匹配。注意lambda函数不能有默认参数。 例如 [](const string a,const string b) {return a.size() b.size();}空捕获列表表明lambda不使用它所在函数中的任何局部变量。 应用如下 stable_sort(word.begin().word.end(),[](const string a,const string b){return a.size() b.size();});当stable_sort需要比较两个元素时它就会调用给定的lambda表达式。 3.使用捕获列表 虽然lambda可以出现在一个函数中使用其局部变量但是它只能使用那些明确指明的变量。一个lambda通过将局部变量包含在其捕获列表中来指出将会使用这些变量。 例如 [sz](const string a){return a.size() sz; }lambda将捕获sz,函数体将string的大小与sz进行比较。 lambda以[] 开始我们可以在其中添加以逗号分隔的名字列表这些名字都是它所在函数中定义的。注意一个lambda只有在其捕获列表中捕获一个它所在函数中的局部变量才能在函数体中使用该变量。 另外一个lambda可以使用定义在函数之外的名字。例如 for_each(wc,words.begin(),[](const string s){couts;});4.lambda捕获和返回 lambda捕获列表[]空捕获列表。lambda不能使用所在函数中的变量一个lambda只有捕获变量后才能使用他们[names]names是一个逗号分隔的名字列表这些名字都是lambda所在函数的局部变量。默认情况下捕获列表中的变量都被拷贝。名字前如果使用了,则采用引用捕获方式。[]隐式捕获列表采用引用捕获方式。lambda体中所使用的来自所在函数的实体都采用引用的方式使用。[]隐式捕获列表采用值捕获方式。lambda体中所使用的来自所在函数的实体都采用拷贝的方式使用。[,identifier_list]identifier_list 是一个逗号分隔的列表包含0个或者多个来自所在函数的变量这些变量采用值捕获方式而任何隐式捕获的变量都采用引用方式捕获。identifier_list中的名字前面不能使用。[,identifier_list]identifier_list 是一个逗号分隔的列表包含0个或者多个来自所在函数的变量这些变量采用引用捕获方式而任何隐式捕获的变量都采用值方式捕获。identifier_list中的名字不能包括this,且这些名字之前必须使用。 1.值捕获 类似参数传递捕获方式也可以是值捕获或者引用。采用值捕获的前提是变量可以被拷贝。与参数不同被捕获的变量的值是在lambda创建时拷贝而不是调用时拷贝。 例如 void fun1 {size_t v1 42;auto f [v1]{return v1;};v1 0;auto j f(); // j的值为42,f保存了我们创建时v1的拷贝 }2.引用捕获 正如上述例子我们使用引用捕获 void fun1 {size_t v1 42;auto f [v1]{return v1;};v1 0;auto j f(); // j的值为0,f保存了我们创建时v1的引用而非拷贝 }引用捕获的限制必须确保被引用的对象在lambda函数执行时是存在的。 建议尽量保持lambda的变量捕获简单化。捕获一个普通变量如int、string或者其他非指针类型通常可以采用简单的值捕获方式在此情况下只需关注变量在捕获时是否有我们所需值就可以了。如果我们捕获一个指针或者迭代器或采用引用捕获的方式就必须确保在lambda执行时绑定到迭代器、指针或引用的对象仍然存在。 应该避免捕获指针或者引用。 3.隐式捕获 除了可以显示列出我们要使用的变量之外我们还可以让编译器根据lambda函数体中的代码推断我们要使用哪些变量为了指示编译器推断捕获列表应在捕获列表中写一个或者告诉编译器采用引用方式则表示采用值捕获方式。例如 // sz 为隐式捕获值捕获方式 wc find_if(words.begin(),words.end(),[](const string s){return s.size()sz;});如果我们希望对一部分变量采用值捕获方式对其他变量采用引用捕获方式可以混合使用隐式捕获和显示捕获。 例如 // os隐式捕获引用捕获方式;c显示捕获值捕获方式 for_each(wc,words.begin(), [,c](const string s){os s c;}); // os显式捕获引用捕获方式;c隐式捕获值捕获方式 for_each(wc,words.begin(), [,os](const string s){os s c;});当我们混合使用隐式和显示捕获时捕获列表的第一个元素必须是或此符号指定了默认捕获方式为引用或值。并且显示捕获的变量和隐式捕获的变量必须使用不同的捕获方式。 4.可变lambda 默认情况下对于值捕获lambda不会改变其值如果我们希望改变一个被捕获变量的值就必须在参数列表尾加上关键字mutable。例如 void fun1 {size_t v1 42;// f可以改变她所捕获的变量的值auto f [v1]() mutable {return v1;};v1 0;auto j f(); // j的值为43 }另外一个引用捕获的变量是否可以修改依赖于此引用指向的是const类型还是非const类型。例如 void fun1 {size_t v1 42;// v1是一个非const变量的引用可以通过f中的引用来改变它auto f [v1]() {return v1;};v1 0;auto j f(); // j的值为1 }5.指定lambda的返回类型 一般情况下lambda返回为void但是也有需要指定返回类型的时候。 注意当我们需要为lambda定义返回类型时必须使用尾置返回类型。例如 tansform(v1.begin(),v1.end(),v1.begin(),[](int i) - int {if(i 0) return -i; else return i;});好了lambda表达式的介绍就到这里。以上所有内容均来自《C primer》第5版一书更详细的内容可以参考该书。
http://www.hkea.cn/news/14281015/

相关文章:

  • 怎样做一个网站冠县网站建设多少钱
  • 聊城制作网站免费制作网站平台有哪些
  • 建设高校图书馆网站的意义网站开发公司如何运营
  • 网站开发 密码wordpress左侧插件
  • 全国设计网站公司网站个安装wordpress
  • 上海做网站多少钱网站建设课程报告
  • 宁波seo网站服务安装app
  • 如何做网站的充值功能医疗网站开发ppt
  • 开一个素材设计网站怎么做网站数据分析平台
  • 网站首页没有权重python 爬虫 做网站
  • 网站查询seo个人接做网站多少钱
  • 做静态网站的软件网站开发有哪些方向
  • 淘宝接单做网站访问一个网站的全过程
  • 网站刷链接怎么做的网站面包屑导航代码
  • 做推广任务网站陕西金顶建设公司网站
  • 网站开发行情齐鲁人才网
  • 乐昌北京网站建设电子商务网站开发主要有哪些
  • 网站建设合作流程图淘宝上那些做网站seo的管用吗
  • 简单做动画的网站综合电子商务型企业网站
  • 优秀网站建设哪家便宜申请自助建站
  • 优化网站软文上海长宁建设和交通门户网站
  • 做公司的网站的需求有哪些好的网站设计网站
  • 宁夏电力建设工程公司外部网站壹佰网站建设
  • wordpress网站属于什么网站吗asp做微网站
  • 建设电子商务平台网站国内顶尖的公司
  • firework做网站教程网站建设公司专业网站开发需求
  • 最权威的网站推广设计wordpress调样式
  • 网站开发制作费入会计科目怎么开网店不需要自己上货
  • 广东网站建设加工代刷网站只做软件吗
  • 建设银行网站打不开怎么办网站招标书怎么做