<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Lambda on I'm OWenT</title><link>//owent.net/tags/lambda.html</link><description>Recent content in Lambda on I'm OWenT</description><generator>Hugo</generator><language>zh-cn</language><copyright>&lt;a rel="license" href="https://github.com/owent/blog-hugo/blob/master/LICENSE.md"&gt;&lt;img alt="知识共享许可协议" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/4.0/80x15.png" /&gt;&lt;/a&gt;</copyright><lastBuildDate>Tue, 03 Jun 2014 20:55:44 +0000</lastBuildDate><atom:link href="//owent.net/tags/lambda/index.xml" rel="self" type="application/rss+xml"/><item><title>再议 C++ 11 Lambda表达式</title><link>//owent.net/2014/1060.html</link><pubDate>Tue, 03 Jun 2014 20:55:44 +0000</pubDate><guid>//owent.net/2014/1060.html</guid><description>&lt;h2 id="目录"&gt;目录&lt;/h2&gt;&#10;&lt;!-- toc --&gt;&#13;&#10;&lt;h2 id="c-的lambda表达式"&gt;C++ 的Lambda表达式&lt;/h2&gt;&#10;&lt;p&gt;C++ 11 标准发布，各大编译器都开始支持里面的各种新特性，其中一项比较有意思的就是lambda表达式。&lt;/p&gt;&#10;&lt;h2 id="语法规则"&gt;语法规则&lt;/h2&gt;&#10;&lt;p&gt;C++ 11 Lambda表达式的四种声明方式&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&#10;\[ capture \]( params ) mutable(optional) exception attribute -&amp;gt; ret { body }&lt;/li&gt;&#10;&lt;li&gt;&#10;\[ capture \]( params ) -&amp;gt; ret { body }&lt;/li&gt;&#10;&lt;li&gt;&#10;\[ capture \]( params ) { body }&lt;/li&gt;&#10;&lt;li&gt;&#10;\[ capture \]{ body }&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;capture&lt;/strong&gt;是外部引用的参数&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;params&lt;/strong&gt;是函数参数&lt;/li&gt;&#10;&lt;li&gt;后面可以跟一些函数修饰符&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;ret&lt;/strong&gt;是返回值类型，如果不指定，会推断一个类型&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;body&lt;/strong&gt;部分是函数内容&#10;具体用法可以参照&lt;a href="http://en.cppreference.com/w/cpp/language/lambda"&gt;C++文档&lt;/a&gt;，这里就不复述了&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;这四个声明式都会返回一个匿名的&lt;strong&gt;仿函数&lt;/strong&gt;实例）。&#10;这里有一个比较重要的一点，就是他是一个&lt;strong&gt;仿函数&lt;/strong&gt;实例，而不是直接一个&lt;strong&gt;函数&lt;/strong&gt;。&lt;/p&gt;</description></item></channel></rss>