{"id":7562,"date":"2026-08-01T00:25:19","date_gmt":"2026-07-31T16:25:19","guid":{"rendered":"https:\/\/i007.cc\/wordpress\/?p=7562"},"modified":"2026-08-01T00:25:19","modified_gmt":"2026-07-31T16:25:19","slug":"%e4%bd%a0%e8%af%b4%e7%9a%84weak_ptr%e5%8f%aa%e6%8c%81%e6%9c%89%e6%8e%a7%e5%88%b6%e5%9d%97%e7%9a%84%e6%8c%87%e9%92%88%ef%bc%8c%e4%b8%8d%e6%8c%81%e6%9c%89%e5%af%b9%e8%b1%a1%e6%8c%87%e9%92%88%ef%bc%8c","status":"publish","type":"post","link":"https:\/\/i007.cc\/wordpress\/archives\/7562","title":{"rendered":"\u4f60\u8bf4\u7684weak_ptr\u53ea\u6301\u6709\u63a7\u5236\u5757\u7684\u6307\u9488\uff0c\u4e0d\u6301\u6709\u5bf9\u8c61\u6307\u9488\uff0c\u6211\u4e0d\u592a\u660e\u767d\uff0c\u5982\u679c\u771f\u7684\u4e0d\u6301\u6709\u5bf9\u8c61\u6307\u9488\uff0c\u90a3\u4e48lock()\u51fd\u6570\u5982\u4f55\u80fd\u8fd4\u56de\u5bf9\u8c61\u6307\u9488\u5462\uff1f"},"content":{"rendered":"<div data-rs-index=\"35\" data-index=\"35\">\n<div tabindex=\"0\" role=\"article\" aria-setsize=\"37\" aria-posinset=\"36\" aria-label=\"Message 36 of 37\">\n<div data-test-render-count=\"2\">\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=\"36\" data-index=\"36\" data-last-message=\"true\">\n<div tabindex=\"-1\" role=\"article\" aria-setsize=\"37\" aria-posinset=\"37\" aria-label=\"Message 37 of 37\">\n<div data-test-render-count=\"1\">\n<div class=\"group group\/message-row\">\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=\"grid grid-rows-[auto_auto] min-w-0\">\n<div class=\"row-start-2 col-start-1 relative grid grid-rows-[auto_auto] isolate min-w-0\">\n<div class=\"row-start-1 col-start-1 relative z-[2] min-w-0\">\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\">\u597d\u95ee\u9898\uff0c\u4f60\u6293\u4f4f\u4e86\u6211\u4e4b\u524d\u8bf4\u6cd5\u4e0d\u51c6\u786e\u7684\u5730\u65b9\u3002\u8ba9\u6211\u7ea0\u6b63\u5e76\u8bf4\u6e05\u695a\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\">\u6211\u4e4b\u524d\u7684\u8bf4\u6cd5\u6709\u8bef\uff0c\u66f4\u6b63\u5982\u4e0b<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\"><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]\">weak_ptr<\/code>\u00a0\u5b9e\u9645\u4e0a<strong>\u540c\u65f6\u6301\u6709\u4e24\u4e2a\u6307\u9488<\/strong>\uff0c\u548c\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]\">shared_ptr<\/code>\u00a0\u7684\u5185\u90e8\u7ed3\u6784\u51e0\u4e4e\u4e00\u6837\uff1a<\/p>\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\">\/\/ libstdc++ \u7684\u5b9e\u9645\u5b9e\u73b0\uff08\u7b80\u5316\uff09\r\ntemplate&lt;typename T&gt;\r\nclass weak_ptr {\r\n    T*                 _M_ptr;      \/\/ \u2190 \u6307\u5411\u5bf9\u8c61\u7684\u6307\u9488\uff08\u4e5f\u6709\uff01\uff09\r\n    __weak_count       _M_refcount; \/\/ \u2190 \u6307\u5411\u63a7\u5236\u5757\u7684\u6307\u9488\r\n};\r\n\r\ntemplate&lt;typename T&gt;\r\nclass shared_ptr {\r\n    T*                   _M_ptr;      \/\/ \u2190 \u540c\u6837\u7684\u5bf9\u8c61\u6307\u9488\r\n    __shared_count       _M_refcount; \/\/ \u2190 \u540c\u6837\u6307\u5411\u63a7\u5236\u5757\r\n};<\/pre>\n<p>&nbsp;<\/p>\n<\/div>\n<\/div>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\">\u4e24\u8005\u7684\u533a\u522b<strong>\u4e0d\u662f&#8221;\u6709\u6ca1\u6709\u5bf9\u8c61\u6307\u9488&#8221;<\/strong>\uff0c\u800c\u662f\uff1a<\/p>\n<ul class=\"[li_&amp;]:mb-0 [li_&amp;]:mt-1 [li_&amp;]:gap-1 [&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc flex flex-col gap-1 pl-8 mb-3 print:block print:space-y-1\" dir=\"ltr\">\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\"><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]\">shared_ptr<\/code>\u00a0\u6784\u9020\u65f6\u9012\u589e\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]\">use_count<\/code>\uff08\u5f3a\u5f15\u7528\u8ba1\u6570\uff09<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\"><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]\">weak_ptr<\/code>\u00a0\u6784\u9020\u65f6\u53ea\u9012\u589e\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]\">weak_count<\/code>\uff08\u5f31\u5f15\u7528\u8ba1\u6570\uff09\uff0c<strong>\u4e0d\u5f71\u54cd\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]\">use_count<\/code><\/strong><\/li>\n<\/ul>\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\">lock() \u7684\u771f\u5b9e\u8fc7\u7a0b<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\">\u6709\u4e86\u8fd9\u4e2a\u57fa\u7840\uff0c<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]\">lock()<\/code>\u00a0\u7684\u903b\u8f91\u5c31\u5f88\u6e05\u6670\u4e86\uff1a<\/p>\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\">shared_ptr&lt;T&gt; weak_ptr&lt;T&gt;::lock() const noexcept {\r\n    \/\/ \u7b2c\u4e00\u6b65\uff1a\u53bb\u63a7\u5236\u5757\u91cc\u68c0\u67e5 use_count\r\n    if (use_count == 0) {\r\n        return shared_ptr&lt;T&gt;();  \/\/ \u5bf9\u8c61\u5df2\u6b7b\uff0c\u8fd4\u56de\u7a7a\r\n    }\r\n\r\n    \/\/ \u7b2c\u4e8c\u6b65\uff1aCAS \u539f\u5b50\u5730\u628a use_count \u52a0 1\r\n    \/\/ \u6210\u529f\u540e use_count &gt;= 1\uff0c\u5bf9\u8c61\u6b64\u523b\u4e00\u5b9a\u5b58\u6d3b\r\n\r\n    \/\/ \u7b2c\u4e09\u6b65\uff1a\u7528 weak_ptr \u81ea\u5df1\u5b58\u7684 _M_ptr \u6784\u9020 shared_ptr\r\n    return shared_ptr&lt;T&gt;(_M_ptr, control_block);\r\n    \/\/                   ^^^^^^\r\n    \/\/                   \u76f4\u63a5\u7528 weak_ptr \u91cc\u5b58\u7684\u5bf9\u8c61\u6307\u9488\r\n}<\/pre>\n<p>&nbsp;<\/p>\n<\/div>\n<\/div>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\"><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]\">_M_ptr<\/code>\u00a0\u4e00\u76f4\u5728\u90a3\u91cc\uff0c<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]\">lock()<\/code>\u00a0\u53ea\u662f\u5728<strong>\u786e\u8ba4\u5bf9\u8c61\u8fd8\u6d3b\u7740\u4e4b\u540e<\/strong>\uff0c\u628a\u5b83\u5305\u8fdb\u4e00\u4e2a\u65b0\u7684\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]\">shared_ptr<\/code>\u00a0\u8fd4\u56de\u51fa\u53bb\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\">\u90a3\u4e2a\u5bf9\u8c61\u6307\u9488\u4e0d\u4f1a\u662f\u60ac\u7a7a\u6307\u9488\u5417\uff1f<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\">\u8fd9\u662f\u4f60\u95ee\u9898\u7684\u6838\u5fc3\u3002\u7b54\u6848\u662f\uff1a<strong>\u6280\u672f\u4e0a\u53ef\u80fd\u662f\u60ac\u7a7a\u7684\uff0c\u4f46\u6c38\u8fdc\u4e0d\u4f1a\u88ab\u89e3\u5f15\u7528\u3002<\/strong><\/p>\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=\"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=\"overflow-x-auto\">\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">\u65f6\u95f4\u7ebf\uff1a\r\n\r\nt=0  shared_ptr sp = make_shared&lt;Player&gt;();\r\n     weak_ptr wp = sp;\r\n     \u72b6\u6001\uff1awp._M_ptr \u2192 [Player\u5bf9\u8c61]\uff0cuse_count=1\r\n\r\nt=1  sp.reset();  \/\/ \u6700\u540e\u4e00\u4e2a shared_ptr \u9500\u6bc1\r\n     \u2192 use_count \u964d\u4e3a 0\r\n     \u2192 Player \u6790\u6784\u51fd\u6570\u88ab\u8c03\u7528\r\n     \u2192 \uff08new \u5206\u914d\u7684\u60c5\u51b5\u4e0b\uff09Player \u7684\u5185\u5b58\u88ab\u91ca\u653e\r\n     \u72b6\u6001\uff1awp._M_ptr \u73b0\u5728\u662f\u60ac\u7a7a\u6307\u9488\uff01\u4f46 wp \u6ca1\u6709\u4eba\u53bb\u89e3\u5f15\u7528\u5b83\r\n\r\nt=2  wp.lock() \u88ab\u8c03\u7528\uff1a\r\n     \u2192 \u68c0\u67e5 use_count == 0\r\n     \u2192 \u8fd4\u56de\u7a7a shared_ptr\uff0c_M_ptr \u6839\u672c\u6ca1\u6709\u88ab\u78b0<\/pre>\n<p>&nbsp;<\/p>\n<\/div>\n<\/div>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\"><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]\">weak_ptr<\/code>\u00a0\u5b58\u7740\u90a3\u4e2a\u53ef\u80fd\u60ac\u7a7a\u7684\u6307\u9488\uff0c\u4f46\u5b83<strong>\u4ece\u6765\u4e0d\u76f4\u63a5\u89e3\u5f15\u7528\u5b83<\/strong>\u3002\u8fd9\u4e2a\u6307\u9488\u552f\u4e00\u7684\u7528\u9014\uff0c\u662f\u5728\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]\">lock()<\/code>\u00a0\u786e\u8ba4\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]\">use_count &gt; 0<\/code>\u00a0\u4e4b\u540e\uff0c\u88ab\u6253\u5305\u8fdb\u65b0\u7684\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]\">shared_ptr<\/code>\u2014\u2014\u800c\u6b64\u65f6\u5bf9\u8c61\u4e00\u5b9a\u8fd8\u6d3b\u7740\uff0c\u6307\u9488\u4e00\u5b9a\u6709\u6548\u3002<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\">\u7528\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]\">make_shared<\/code>\u00a0\u65f6\u751a\u81f3\u66f4\u5b89\u5168\u2014\u2014\u5bf9\u8c61\u548c\u63a7\u5236\u5757\u5728\u540c\u4e00\u5757\u5185\u5b58\uff0c<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]\">use_count=0<\/code>\u00a0\u65f6\u53ea\u8c03\u7528\u6790\u6784\u51fd\u6570\uff0c\u5185\u5b58\u8fd8\u6ca1\u91ca\u653e\uff0c\u6240\u4ee5\u6307\u9488\u4e25\u683c\u6765\u8bf4\u90fd\u4e0d\u662f\u60ac\u7a7a\u7684\uff0c\u53ea\u662f\u6307\u5411\u4e00\u4e2a&#8221;\u5df2\u6790\u6784\u4f46\u5185\u5b58\u8fd8\u5728&#8221;\u7684\u4f4d\u7f6e\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\">\u4fee\u6b63\u540e\u7684\u5b8c\u6574\u5185\u5b58\u56fe<\/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=\"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=\"overflow-x-auto\">\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">shared_ptr \u548c weak_ptr \u540c\u65f6\u5b58\u5728\uff1a\r\n\r\n  shared_ptr:  [ _M_ptr \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\r\n                  _M_refcount \u2192 ControlBlock ]\u2502\r\n                                             \u2502\r\n  weak_ptr:    [ _M_ptr \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518  (\u540c\u4e00\u4e2a\u5730\u5740)\r\n                  _M_refcount \u2192 ControlBlock ]  (\u540c\u4e00\u4e2a\u63a7\u5236\u5757)\r\n\r\n                \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\r\n  ControlBlock: \u2502  use_count  = 1          \u2502\r\n                \u2502  weak_count = 2          \u2502\r\n                \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\r\n\r\nshared_ptr \u9500\u6bc1\u540e\uff08use_count=0\uff09\uff1a\r\n\r\n  weak_ptr \u4ecd\u7136\u6301\u6709 _M_ptr\uff08\u53ef\u80fd\u60ac\u7a7a\uff09\u548c\u63a7\u5236\u5757\u6307\u9488\uff08\u4e00\u5b9a\u6709\u6548\uff09\r\n\r\n  lock() \u5148\u770b\u63a7\u5236\u5757 \u2192 use_count=0 \u2192 \u76f4\u63a5\u8fd4\u56de null\r\n                                      _M_ptr \u4ece\u672a\u88ab\u78b0<\/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<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\">\u6240\u4ee5\u4e00\u53e5\u8bdd\u603b\u7ed3\uff1a<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]\">weak_ptr<\/code>\u00a0\u786e\u5b9e\u5b58\u7740\u5bf9\u8c61\u6307\u9488\uff0c<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]\">lock()<\/code>\u00a0\u6b63\u662f\u7528\u5b83\u6765\u6784\u9020\u8fd4\u56de\u7684\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]\">shared_ptr<\/code>\u3002\u63a7\u5236\u5757\u7684\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]\">use_count<\/code>\u00a0\u662f\u5224\u65ad\u5bf9\u8c61\u662f\u5426\u5b58\u6d3b\u7684\u552f\u4e00\u4f9d\u636e\uff0c\u53ea\u6709\u5b83\u786e\u8ba4\u5bf9\u8c61\u6d3b\u7740\uff0c\u5bf9\u8c61\u6307\u9488\u624d\u4f1a\u88ab\u4f7f\u7528\u3002<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u597d\u95ee\u9898\uff0c\u4f60\u6293\u4f4f\u4e86\u6211\u4e4b\u524d\u8bf4\u6cd5\u4e0d\u51c6\u786e\u7684\u5730\u65b9\u3002<\/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-7562","post","type-post","status-publish","format-standard","hentry","category-value_docs"],"_links":{"self":[{"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/posts\/7562","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=7562"}],"version-history":[{"count":0,"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/posts\/7562\/revisions"}],"wp:attachment":[{"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/media?parent=7562"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/categories?post=7562"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/i007.cc\/wordpress\/wp-json\/wp\/v2\/tags?post=7562"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}