{"id":7423,"date":"2026-07-22T11:56:10","date_gmt":"2026-07-22T03:56:10","guid":{"rendered":"https:\/\/i007.cc\/wordpress\/?p=7423"},"modified":"2026-07-22T11:56:10","modified_gmt":"2026-07-22T03:56:10","slug":"lamda%e8%a1%a8%e8%be%be%e5%bc%8f%e4%b8%ad%e6%8d%95%e8%8e%b7%e5%a4%96%e9%83%a8%e5%8f%98%e9%87%8f%e5%92%8c%e4%bc%a0%e5%8f%82%e6%9c%89%e4%bb%80%e4%b9%88%e5%8c%ba%e5%88%ab%ef%bc%9f","status":"publish","type":"post","link":"https:\/\/i007.cc\/wordpress\/archives\/7423","title":{"rendered":"Lamda\u8868\u8fbe\u5f0f\u4e2d\u6355\u83b7\u5916\u90e8\u53d8\u91cf\u548c\u4f20\u53c2\u6709\u4ec0\u4e48\u533a\u522b\uff1f"},"content":{"rendered":"<div data-rs-index=\"4\" data-index=\"4\">\n<div tabindex=\"0\" role=\"article\" aria-setsize=\"30\" aria-posinset=\"5\" aria-label=\"Message 5 of 30\">\n<div data-test-render-count=\"1\">\n<div class=\"mb-1 mt-[var(--msg-gap,1.5rem)] group group\/message-row\">\n<div class=\"flex flex-col items-end gap-1\">\n<div class=\"group relative inline-flex gap-2 bg-bg-300 dark:[[data-darker-default]_&amp;]:bg-bg-000 rounded-xl pl-2.5 py-[var(--msg-bubble-py,0.625rem)] break-words text-text-100 transition-all max-w-[75ch] flex-col !px-[var(--msg-bubble-px,1rem)] max-w-[85%]\" data-user-message-bubble=\"true\">\n<div class=\"flex flex-row gap-2 relative\">\n<div class=\"flex-1\">\n<div class=\"font-large !font-user-message py-0.5 grid grid-cols-1 gap-2 relative [&amp;_ul]:!space-y-0 [&amp;_ol]:!space-y-0 [&amp;_ul]:pl-8 [&amp;_ol]:pl-8\" data-testid=\"user-message\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div data-rs-index=\"5\" data-index=\"5\">\n<div tabindex=\"-1\" role=\"article\" aria-setsize=\"30\" aria-posinset=\"6\" aria-label=\"Message 6 of 30\">\n<div data-test-render-count=\"2\">\n<div class=\"group group\/message-row\">\n<div class=\"contents\">\n<div class=\"group relative relative pb-[var(--msg-assistant-pb,0.75rem)]\" data-is-streaming=\"false\">\n<div class=\"font-claude-response relative leading-[1.65rem] [&amp;_pre&gt;div]:bg-bg-000\/50 [&amp;_pre&gt;div]:border-0.5 [&amp;_pre&gt;div]:border-border-400 [&amp;_.ignore-pre-bg&gt;div]:bg-transparent [&amp;_.standard-markdown_:is(p,blockquote,h1,h2,h3,h4,h5,h6)]:pl-2 [&amp;_.standard-markdown_:is(p,blockquote,ul,ol,h1,h2,h3,h4,h5,h6)]:pr-8 [&amp;_.progressive-markdown_:is(p,blockquote,h1,h2,h3,h4,h5,h6)]:pl-2 [&amp;_.progressive-markdown_:is(p,blockquote,ul,ol,h1,h2,h3,h4,h5,h6)]:pr-8\">\n<div class=\"standard-markdown grid-cols-1 grid [&amp;_&gt;_*]:min-w-0 gap-3 [&amp;_&gt;_*:last-child]:mb-0 print:block print:[&amp;_&gt;_*_+_*]:mt-3 standard-markdown\">\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\">\u5f88\u597d\u7684\u95ee\u9898\uff01\u8fd9\u662f\u7406\u89e3 Lambda \u7684\u5173\u952e\u3002<\/p>\n<hr class=\"border-border-200 border-t-0.5 my-3 mx-1.5\" \/>\n<h3 class=\"text-text-100 mt-3 -mb-1 text-[1.125rem] font-bold\" dir=\"ltr\">\u672c\u8d28\u533a\u522b<\/h3>\n<div class=\"overflow-x-auto w-full px-2 mb-6 print:overflow-x-visible\" dir=\"ltr\">\n<table class=\"min-w-full border-collapse text-sm leading-[1.7] whitespace-normal\">\n<thead class=\"text-left\">\n<tr>\n<th class=\"text-text-100 border-b-0.5 border-[hsl(var(--border-300)\/0.6)] py-2 pr-4 align-top font-bold\" scope=\"col\"><\/th>\n<th class=\"text-text-100 border-b-0.5 border-[hsl(var(--border-300)\/0.6)] py-2 pr-4 align-top font-bold\" scope=\"col\">\u6355\u83b7\u53d8\u91cf<\/th>\n<th class=\"text-text-100 border-b-0.5 border-[hsl(var(--border-300)\/0.6)] py-2 pr-4 align-top font-bold\" scope=\"col\">\u4f20\u53c2<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"><strong>\u65f6\u673a<\/strong><\/td>\n<td class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\">Lambda\u00a0<strong>\u5b9a\u4e49\u65f6<\/strong>\u7ed1\u5b9a<\/td>\n<td class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\">Lambda\u00a0<strong>\u8c03\u7528\u65f6<\/strong>\u4f20\u5165<\/td>\n<\/tr>\n<tr>\n<td class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"><strong>\u6765\u6e90<\/strong><\/td>\n<td class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\">\u5916\u90e8\u4f5c\u7528\u57df\u5df2\u6709\u7684\u53d8\u91cf<\/td>\n<td class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\">\u8c03\u7528\u8005\u4e3b\u52a8\u63d0\u4f9b\u7684\u503c<\/td>\n<\/tr>\n<tr>\n<td class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"><strong>\u8bed\u6cd5\u4f4d\u7f6e<\/strong><\/td>\n<td class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"><code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">[]<\/code>\u00a0\u91cc<\/td>\n<td class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"><code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">()<\/code>\u00a0\u91cc<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h3 class=\"text-text-100 mt-3 -mb-1 text-[1.125rem] font-bold\" dir=\"ltr\">\u4ee3\u7801\u5bf9\u6bd4<\/h3>\n<div class=\"relative group\/copy bg-bg-000\/50 border-0.5 border-border-400 rounded-lg focus:outline-none focus-visible:ring-2 focus-visible:ring-accent-100\" tabindex=\"0\" role=\"group\" aria-label=\"cpp code\">\n<div class=\"sticky opacity-0 group-hover\/copy:opacity-100 group-focus-within\/copy:opacity-100 top-2 py-2 h-12 w-0 float-right\">\n<div class=\"absolute right-0 h-8 px-2 items-center inline-flex z-10\"><\/div>\n<\/div>\n<div class=\"text-text-500 font-small p-3.5 pb-0\">cpp<\/div>\n<div class=\"overflow-x-auto\">\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">int offset = 10;\r\n\r\n\/\/ \u2705 \u6355\u83b7\uff1aoffset \u5728\u5b9a\u4e49\u65f6\u5c31\u7ed1\u5b9a\u4e86\r\nauto withCapture = [offset](int x) { return x + offset; };\r\n\r\n\/\/ \u2705 \u4f20\u53c2\uff1aoffset \u5728\u8c03\u7528\u65f6\u624d\u4f20\u5165\r\nauto withParam = [](int x, int offset) { return x + offset; };\r\n\r\nwithCapture(5);        \/\/ \u2192 15\uff0c\u8c03\u7528\u65f6\u4e0d\u9700\u8981\u63d0\u4f9b offset\r\nwithParam(5, offset);  \/\/ \u2192 15\uff0c\u8c03\u7528\u65f6\u5fc5\u987b\u63d0\u4f9b offset<\/pre>\n<p>&nbsp;<\/p>\n<\/div>\n<\/div>\n<hr class=\"border-border-200 border-t-0.5 my-3 mx-1.5\" \/>\n<h3 class=\"text-text-100 mt-3 -mb-1 text-[1.125rem] font-bold\" dir=\"ltr\">\u6355\u83b7\u7684\u4e24\u79cd\u65b9\u5f0f\uff1a\u503c vs \u5f15\u7528<\/h3>\n<div class=\"relative group\/copy bg-bg-000\/50 border-0.5 border-border-400 rounded-lg focus:outline-none focus-visible:ring-2 focus-visible:ring-accent-100\" tabindex=\"0\" role=\"group\" aria-label=\"cpp code\">\n<div class=\"sticky opacity-0 group-hover\/copy:opacity-100 group-focus-within\/copy:opacity-100 top-2 py-2 h-12 w-0 float-right\">\n<div class=\"absolute right-0 h-8 px-2 items-center inline-flex z-10\"><\/div>\n<\/div>\n<div class=\"text-text-500 font-small p-3.5 pb-0\">cpp<\/div>\n<div class=\"overflow-x-auto\">\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">int count = 0;\r\n\r\n\/\/ \u503c\u6355\u83b7 [count]\uff1a\u62f7\u8d1d\u4e00\u4efd\uff0c\u5916\u90e8\u53d8\u5316\u4e0d\u5f71\u54cd Lambda \u5185\u90e8\r\nauto byValue = [count]() { \r\n    \/\/ count++;  \/\/ \u274c \u7f16\u8bd1\u9519\u8bef\uff01\u503c\u6355\u83b7\u9ed8\u8ba4\u662f const\r\n    return count; \r\n};\r\n\r\n\/\/ \u5f15\u7528\u6355\u83b7 [&amp;count]\uff1a\u5171\u4eab\u540c\u4e00\u53d8\u91cf\uff0c\u4e92\u76f8\u5f71\u54cd\r\nauto byRef = [&amp;count]() { \r\n    count++;     \/\/ \u2705 \u53ef\u4ee5\u4fee\u6539\r\n};\r\n\r\ncount = 99;\r\nbyValue();  \/\/ \u8fd4\u56de 0\uff08\u5b9a\u4e49\u65f6\u62f7\u8d1d\u7684\u503c\uff09\r\nbyRef();    \/\/ count \u53d8\u4e3a 100<\/pre>\n<p>&nbsp;<\/p>\n<\/div>\n<\/div>\n<blockquote class=\"ml-2 border-l-4 border-[hsl(var(--border-300)\/0.1)] pl-4 text-text-300\">\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\"><strong>\u5173\u952e<\/strong>\uff1a\u503c\u6355\u83b7\u5728\u00a0<strong>\u5b9a\u4e49\u90a3\u4e00\u523b<\/strong>\u00a0\u5c31\u62cd\u4e86&#8221;\u5feb\u7167&#8221;\uff0c\u4e4b\u540e\u5916\u90e8\u600e\u4e48\u53d8\u90fd\u65e0\u5173\u3002<\/p>\n<\/blockquote>\n<hr class=\"border-border-200 border-t-0.5 my-3 mx-1.5\" \/>\n<h3 class=\"text-text-100 mt-3 -mb-1 text-[1.125rem] font-bold\" dir=\"ltr\">\u4ec0\u4e48\u65f6\u5019\u7528\u6355\u83b7\uff0c\u4ec0\u4e48\u65f6\u5019\u7528\u4f20\u53c2\uff1f<\/h3>\n<div class=\"relative group\/copy bg-bg-000\/50 border-0.5 border-border-400 rounded-lg focus:outline-none focus-visible:ring-2 focus-visible:ring-accent-100\" tabindex=\"0\" role=\"group\" aria-label=\"cpp code\">\n<div class=\"sticky opacity-0 group-hover\/copy:opacity-100 group-focus-within\/copy:opacity-100 top-2 py-2 h-12 w-0 float-right\">\n<div class=\"absolute right-0 h-8 px-2 items-center inline-flex z-10\"><\/div>\n<\/div>\n<div class=\"text-text-500 font-small p-3.5 pb-0\">cpp<\/div>\n<div class=\"overflow-x-auto\">\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">\/\/ \u573a\u666f1\uff1a\u56fa\u5b9a\u7684\"\u4e0a\u4e0b\u6587\"\u914d\u7f6e \u2192 \u7528\u6355\u83b7\r\nint threshold = 5;\r\nauto filter = [threshold](int x) { return x &gt; threshold; };\r\n\/\/ threshold \u662f\u8fd9\u4e2a Lambda \u7684\"\u73af\u5883\"\uff0c\u6bcf\u6b21\u8c03\u7528\u90fd\u4e00\u6837\r\n\r\nstd::vector&lt;int&gt; v = {1, 3, 7, 9, 2};\r\nstd::copy_if(v.begin(), v.end(), ..., filter); \/\/ \u4e0d\u9700\u8981\u6bcf\u6b21\u4f20 threshold\r\n\r\n\r\n\/\/ \u573a\u666f2\uff1a\u6bcf\u6b21\u8c03\u7528\u90fd\u4e0d\u540c\u7684\u6570\u636e \u2192 \u7528\u4f20\u53c2\r\nauto multiply = [](int x, int factor) { return x * factor; };\r\nmultiply(3, 2);   \/\/ \u2192 6\r\nmultiply(3, 10);  \/\/ \u2192 30<\/pre>\n<p>&nbsp;<\/p>\n<\/div>\n<\/div>\n<hr class=\"border-border-200 border-t-0.5 my-3 mx-1.5\" \/>\n<h3 class=\"text-text-100 mt-3 -mb-1 text-[1.125rem] font-bold\" dir=\"ltr\">\u26a0\ufe0f \u5f15\u7528\u6355\u83b7\u7684\u9677\u9631<\/h3>\n<div class=\"relative group\/copy bg-bg-000\/50 border-0.5 border-border-400 rounded-lg focus:outline-none focus-visible:ring-2 focus-visible:ring-accent-100\" tabindex=\"0\" role=\"group\" aria-label=\"cpp code\">\n<div class=\"sticky opacity-0 group-hover\/copy:opacity-100 group-focus-within\/copy:opacity-100 top-2 py-2 h-12 w-0 float-right\">\n<div class=\"absolute right-0 h-8 px-2 items-center inline-flex z-10\"><\/div>\n<\/div>\n<div class=\"text-text-500 font-small p-3.5 pb-0\">cpp<\/div>\n<div class=\"overflow-x-auto\">\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">\/\/ \u274c \u5371\u9669\uff1aLambda \u751f\u547d\u5468\u671f\u8d85\u8fc7\u4e86\u88ab\u6355\u83b7\u53d8\u91cf\r\nauto makeLambda() {\r\n    int local = 42;\r\n    return [&amp;local]() { return local; };  \/\/ local \u5df2\u9500\u6bc1\uff01\r\n}\r\n\r\nauto fn = makeLambda();\r\nfn();  \/\/ \ud83d\udca5 \u672a\u5b9a\u4e49\u884c\u4e3a\uff0c\u8bbf\u95ee\u4e86\u60ac\u7a7a\u5f15\u7528\r\n\r\n\r\n\/\/ \u2705 \u5b89\u5168\uff1a\u503c\u6355\u83b7\uff0c\u62f7\u8d1d\u4e00\u4efd\u5e26\u8d70\r\nauto makeLambda() {\r\n    int local = 42;\r\n    return [local]() { return local; };  \/\/ \u62f7\u8d1d\uff0c\u5b89\u5168\uff01\r\n}<\/pre>\n<p>&nbsp;<\/p>\n<\/div>\n<\/div>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\"><strong>\u89c4\u5219\uff1aLambda \u5982\u679c\u8981&#8221;\u9003\u51fa&#8221;\u5f53\u524d\u4f5c\u7528\u57df\uff08\u5b58\u50a8\u3001\u8fd4\u56de\u3001\u5f02\u6b65\uff09\uff0c\u7528\u503c\u6355\u83b7\u3002<\/strong><\/p>\n<hr class=\"border-border-200 border-t-0.5 my-3 mx-1.5\" \/>\n<h3 class=\"text-text-100 mt-3 -mb-1 text-[1.125rem] font-bold\" dir=\"ltr\">\u4e00\u53e5\u8bdd\u603b\u7ed3<\/h3>\n<blockquote class=\"ml-2 border-l-4 border-[hsl(var(--border-300)\/0.1)] pl-4 text-text-300\">\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\"><strong>\u4f20\u53c2<\/strong>\u00a0= \u8c03\u7528\u8005\u6bcf\u6b21\u51b3\u5b9a\u7ed9\u4ec0\u4e48\uff1b<strong>\u6355\u83b7<\/strong>\u00a0= \u5b9a\u4e49\u65f6\u4ece\u5468\u56f4\u73af\u5883&#8221;\u6253\u5305&#8221;\u5e26\u8d70\uff0c\u8c03\u7528\u8005\u65e0\u9700\u5173\u5fc3\u3002<\/p>\n<\/blockquote>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\">\u60f3\u7ee7\u7eed\u4e86\u89e3\u00a0<code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">mutable<\/code>\u00a0\u5173\u952e\u5b57\uff08\u8ba9\u503c\u6355\u83b7\u53ef\u4fee\u6539\uff09\u6216\u8005 Lambda \u5728 STL \u7b97\u6cd5\u4e2d\u7684\u5b9e\u6218\u7528\u6cd5\u5417\uff1f<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u5f88\u597d\u7684\u95ee\u9898\uff01\u8fd9\u662f\u7406\u89e3 Lambda \u7684\u5173<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"colormag_page_container_layout":"default_layout","colormag_page_sidebar_layout":"default_layout","footnotes":""},"categories":[24],"tags":[],"class_list":["post-7423","post","type-post","status-publish","format-standard","hentry","category-value_docs"],"_links":{"self":[{"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/posts\/7423","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/comments?post=7423"}],"version-history":[{"count":1,"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/posts\/7423\/revisions"}],"predecessor-version":[{"id":7424,"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/posts\/7423\/revisions\/7424"}],"wp:attachment":[{"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/media?parent=7423"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/categories?post=7423"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/tags?post=7423"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}