Files
hustoj/web/cppreference-zh/chmhelp/cpp-header-experimental-memory_resource.html
2025-08-01 12:57:54 +08:00

213 lines
15 KiB
HTML

<!DOCTYPE html>
<html lang="zh" dir="ltr" class="client-nojs" xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh">
<head><meta http-equiv="x-ua-compatible" content="ie=edge">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>&#23454;&#39564;&#24615;&#24211;&#22836;&#25991;&#20214; &lt;experimental/memory_resource&gt;</title>
<link rel="stylesheet" href="ext.css" />
<link rel="stylesheet" href="site_modules.css" />
</head>
<body class="mediawiki ltr sitedir-ltr ns-0 ns-subject page-cpp_header_experimental_memory_resource skin-cppreference2 action-view cpp-navbar">
<div id="cpp-content-base">
<div id="content"><a id="top"></a>
<h1 id="firstHeading" class="firstHeading"><span style="font-size:0.7em; line-height:130%">&#23454;&#39564;&#24615;&#24211;&#22836;&#25991;&#20214;</span> &lt;experimental/memory_resource&gt;</h1>
<div id="bodyContent">
<div id="contentSub"><span class="subpages">&lt; <a href="cpp.html">cpp</a>&lrm; | <a href="cpp-header.html">header</a>&lrm; | <a href="cpp-header-experimental.html">experimental</a></span></div>
<div id="mw-content-text" lang="zh" dir="ltr" class="mw-content-ltr" xml:lang="zh">
<p>&#27492;&#22836;&#25991;&#20214;&#26159;&#24211;&#22522;&#30784; TS (<a href="cpp-experimental-lib_extensions.html">v1</a>, <a href="cpp-experimental-lib_extensions_2.html">v2</a>, <a href="cpp-experimental-lib_extensions_3.html">v3</a>) &#30340;&#19968;&#37096;&#20998;&#12290;</p>
<h3><span class="mw-headline" id=".E7.B1.BB">&#31867;</span></h3>
<table class="t-dsc-begin">
<tr class="t-dsc-header">
<td colspan="2">
<div>&#23450;&#20041;&#20110;&#21629;&#21517;&#31354;&#38388; <code>std::experimental::pmr</code></div>
</td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="https://zh.cppreference.com/mwiki/index.php?title=cpp/experimental/memory_resource&amp;action=edit&amp;redlink=1" class="new" title="cpp/experimental/memory resource&#65288;&#39029;&#38754;&#19981;&#23384;&#22312;&#65289;"><span class="t-lines"><span>memory_resource</span></span></a></div>
</div>
</td>
<td>&#19968;&#20010;&#25277;&#35937;&#25509;&#21475;&#65292;&#29992;&#20110;&#21508;&#31181;&#23553;&#35013;&#20869;&#23384;&#36164;&#28304;&#30340;&#31867;<br />
<span class="t-mark">(&#31867;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="https://zh.cppreference.com/mwiki/index.php?title=cpp/experimental/synchronized_pool_resource&amp;action=edit&amp;redlink=1" class="new" title="cpp/experimental/synchronized pool resource&#65288;&#39029;&#38754;&#19981;&#23384;&#22312;&#65289;"><span class="t-lines"><span>synchronized_pool_resource</span></span></a></div>
</div>
</td>
<td>&#32447;&#31243;&#23433;&#20840;&#30340; <span class="t-lc">memory_resource</span>&#65292;&#29992;&#20110;&#31649;&#29702;&#20855;&#26377;&#19981;&#21516;&#22359;&#22823;&#23567;&#30340;&#27744;&#20013;&#30340;&#20998;&#37197;<br />
<span class="t-mark">(&#31867;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="https://zh.cppreference.com/mwiki/index.php?title=cpp/experimental/unsynchronized_pool_resource&amp;action=edit&amp;redlink=1" class="new" title="cpp/experimental/unsynchronized pool resource&#65288;&#39029;&#38754;&#19981;&#23384;&#22312;&#65289;"><span class="t-lines"><span>unsynchronized_pool_resource</span></span></a></div>
</div>
</td>
<td>&#32447;&#31243;&#19981;&#23433;&#20840;&#30340; <span class="t-lc">memory_resource</span>&#65292;&#29992;&#20110;&#31649;&#29702;&#20855;&#26377;&#19981;&#21516;&#22359;&#22823;&#23567;&#30340;&#27744;&#20013;&#30340;&#20998;&#37197;<br />
<span class="t-mark">(&#31867;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="https://zh.cppreference.com/mwiki/index.php?title=cpp/experimental/monotonic_buffer_resource&amp;action=edit&amp;redlink=1" class="new" title="cpp/experimental/monotonic buffer resource&#65288;&#39029;&#38754;&#19981;&#23384;&#22312;&#65289;"><span class="t-lines"><span>monotonic_buffer_resource</span></span></a></div>
</div>
</td>
<td>&#19968;&#31181;&#29305;&#27530;&#29992;&#36884;&#30340; <span class="t-lc">memory_resource</span>&#65292;&#20165;&#22312;&#36164;&#28304;&#34987;&#38144;&#27585;&#26102;&#25165;&#37322;&#25918;&#25152;&#20998;&#37197;&#20869;&#23384;<br />
<span class="t-mark">(&#31867;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="https://zh.cppreference.com/mwiki/index.php?title=cpp/experimental/polymorphic_allocator&amp;action=edit&amp;redlink=1" class="new" title="cpp/experimental/polymorphic allocator&#65288;&#39029;&#38754;&#19981;&#23384;&#22312;&#65289;"><span class="t-lines"><span>polymorphic_allocator</span></span></a></div>
</div>
</td>
<td>&#20197; <span class="t-lc">memory_resource</span> &#26500;&#36896;&#65292;&#25903;&#25345;&#22522;&#20110;&#23427;&#30340;&#36816;&#34892;&#26102;&#22810;&#24577;&#30340;&#20998;&#37197;&#22120;<br />
<span class="t-mark">(&#31867;&#27169;&#26495;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="cpp-experimental-resource_adaptor.html"><span class="t-lines"><span>resource_adaptor</span></span></a></div>
</div>
</td>
<td>&#36866;&#37197;&#19968;&#20010;&#20998;&#37197;&#22120;&#20026;&#19968;&#20010; <span class="t-lc">memory_resource</span><br />
<span class="t-mark">(&#21035;&#21517;&#27169;&#26495;)</span></td>
</tr>
</table>
<h3><span class="mw-headline" id=".E5.87.BD.E6.95.B0">&#20989;&#25968;</span></h3>
<table class="t-dsc-begin">
<tr class="t-dsc-header">
<td colspan="2">
<div>&#23450;&#20041;&#20110;&#21629;&#21517;&#31354;&#38388; <code>std::experimental::pmr</code></div>
</td>
</tr>
<tr>
<td colspan="2">
<h5><span class="mw-headline" id=".E6.AF.94.E8.BE.83">&#27604;&#36739;</span></h5>
</td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="https://zh.cppreference.com/mwiki/index.php?title=cpp/experimental/memory_resource/operator_eq&amp;action=edit&amp;redlink=1" class="new" title="cpp/experimental/memory resource/operator eq&#65288;&#39029;&#38754;&#19981;&#23384;&#22312;&#65289;"><span class="t-lines"><span>operator==</span><span>operator!=</span></span></a></div>
</div>
</td>
<td>&#27604;&#36739;&#20004;&#20010; <code>memory_resource</code><br />
<span class="t-mark">(&#20989;&#25968;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="https://zh.cppreference.com/mwiki/index.php?title=cpp/experimental/pmr/polymorphic_allocator/operator_cmp&amp;action=edit&amp;redlink=1" class="new" title="cpp/experimental/pmr/polymorphic allocator/operator cmp&#65288;&#39029;&#38754;&#19981;&#23384;&#22312;&#65289;"><span class="t-lines"><span>operator==</span><span>operator!=</span></span></a></div>
</div>
</td>
<td>&#27604;&#36739;&#20004;&#20010;&#20998;&#37197;&#22120;<br />
<span class="t-mark">(&#20989;&#25968;&#27169;&#26495;)</span></td>
</tr>
<tr>
<td colspan="2">
<h5><span class="mw-headline" id=".E5.85.A8.E5.B1.80.E5.86.85.E5.AD.98.E8.B5.84.E6.BA.90">&#20840;&#23616;&#20869;&#23384;&#36164;&#28304;</span></h5>
</td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="https://zh.cppreference.com/mwiki/index.php?title=cpp/experimental/new_delete_resource&amp;action=edit&amp;redlink=1" class="new" title="cpp/experimental/new delete resource&#65288;&#39029;&#38754;&#19981;&#23384;&#22312;&#65289;"><span class="t-lines"><span>new_delete_resource</span></span></a></div>
</div>
</td>
<td>&#36820;&#22238;&#19968;&#20010;&#38745;&#24577;&#30340;&#31243;&#24207;&#33539;&#22260; <code>memory_resource</code>&#65292;&#23427;&#20351;&#29992;&#20840;&#23616; <span class="t-lc"><a href="cpp-memory-new-operator_new.html">operator new</a></span> &#19982; <span class="t-lc"><a href="cpp-memory-new-operator_delete.html">operator delete</a></span> &#20998;&#37197;&#21644;&#35299;&#20998;&#37197;&#20869;&#23384;<br />
<span class="t-mark">(&#20989;&#25968;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="https://zh.cppreference.com/mwiki/index.php?title=cpp/experimental/null_memory_resource&amp;action=edit&amp;redlink=1" class="new" title="cpp/experimental/null memory resource&#65288;&#39029;&#38754;&#19981;&#23384;&#22312;&#65289;"><span class="t-lines"><span>null_memory_resource</span></span></a></div>
</div>
</td>
<td>&#36820;&#22238;&#19968;&#20010;&#19981;&#36827;&#34892;&#20219;&#20309;&#20998;&#37197;&#30340;&#38745;&#24577; <code>memory_resource</code><br />
<span class="t-mark">(&#20989;&#25968;)</span></td>
</tr>
<tr>
<td colspan="2">
<h5><span class="mw-headline" id=".E7.BC.BA.E7.9C.81.E5.86.85.E5.AD.98.E8.B5.84.E6.BA.90">&#32570;&#30465;&#20869;&#23384;&#36164;&#28304;</span></h5>
</td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="https://zh.cppreference.com/mwiki/index.php?title=cpp/experimental/get_default_resource&amp;action=edit&amp;redlink=1" class="new" title="cpp/experimental/get default resource&#65288;&#39029;&#38754;&#19981;&#23384;&#22312;&#65289;"><span class="t-lines"><span>get_default_resource</span></span></a></div>
</div>
</td>
<td>&#33719;&#21462;&#32570;&#30465; <code>memory_resource</code><br />
<span class="t-mark">(&#20989;&#25968;)</span></td>
</tr>
<tr class="t-dsc">
<td>
<div class="t-dsc-member-div">
<div><a href="https://zh.cppreference.com/mwiki/index.php?title=cpp/experimental/set_default_resource&amp;action=edit&amp;redlink=1" class="new" title="cpp/experimental/set default resource&#65288;&#39029;&#38754;&#19981;&#23384;&#22312;&#65289;"><span class="t-lines"><span>set_default_resource</span></span></a></div>
</div>
</td>
<td>&#35774;&#32622;&#32570;&#30465; <code>memory_resource</code><br />
<span class="t-mark">(&#20989;&#25968;)</span></td>
</tr>
</table>
<h3><span class="mw-headline" id=".E6.A6.82.E8.A6.81">&#27010;&#35201;</span></h3>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> std <span class="br0">{</span>
<span class="kw1">namespace</span> experimental <span class="br0">{</span>
<span class="kw1">inline</span> <span class="kw1">namespace</span> fundamentals_v1 <span class="br0">{</span>
<span class="kw1">namespace</span> pmr <span class="br0">{</span>
<span class="kw1">class</span> memory_resource<span class="sy4">;</span>
<span class="kw4">bool</span> operator<span class="sy1">==</span><span class="br0">(</span><span class="kw4">const</span> memory_resource<span class="sy3">&amp;</span> a,
<span class="kw4">const</span> memory_resource<span class="sy3">&amp;</span> b<span class="br0">)</span> <span class="kw1">noexcept</span><span class="sy4">;</span>
<span class="kw4">bool</span> operator<span class="sy3">!</span><span class="sy1">=</span><span class="br0">(</span><span class="kw4">const</span> memory_resource<span class="sy3">&amp;</span> a,
<span class="kw4">const</span> memory_resource<span class="sy3">&amp;</span> b<span class="br0">)</span> <span class="kw1">noexcept</span><span class="sy4">;</span>
<span class="kw1">template</span> <span class="sy1">&lt;</span><span class="kw1">class</span> Tp<span class="sy1">&gt;</span> <span class="kw1">class</span> polymorphic_allocator<span class="sy4">;</span>
<span class="kw1">template</span> <span class="sy1">&lt;</span><span class="kw1">class</span> T1, <span class="kw1">class</span> T2<span class="sy1">&gt;</span>
<span class="kw4">bool</span> operator<span class="sy1">==</span><span class="br0">(</span><span class="kw4">const</span> polymorphic_allocator<span class="sy1">&lt;</span>T1<span class="sy1">&gt;</span><span class="sy3">&amp;</span> a,
<span class="kw4">const</span> polymorphic_allocator<span class="sy1">&lt;</span>T2<span class="sy1">&gt;</span><span class="sy3">&amp;</span> b<span class="br0">)</span> <span class="kw1">noexcept</span><span class="sy4">;</span>
<span class="kw1">template</span> <span class="sy1">&lt;</span><span class="kw1">class</span> T1, <span class="kw1">class</span> T2<span class="sy1">&gt;</span>
<span class="kw4">bool</span> operator<span class="sy3">!</span><span class="sy1">=</span><span class="br0">(</span><span class="kw4">const</span> polymorphic_allocator<span class="sy1">&lt;</span>T1<span class="sy1">&gt;</span><span class="sy3">&amp;</span> a,
<span class="kw4">const</span> polymorphic_allocator<span class="sy1">&lt;</span>T2<span class="sy1">&gt;</span><span class="sy3">&amp;</span> b<span class="br0">)</span> <span class="kw1">noexcept</span><span class="sy4">;</span>
<span class="co1">// &#21517;&#23383; resource_adaptor_imp &#20165;&#29992;&#20110;&#38416;&#37322;&#12290;</span>
<span class="kw1">template</span> <span class="sy1">&lt;</span><span class="kw1">class</span> Allocator<span class="sy1">&gt;</span> <span class="kw1">class</span> resource_adaptor_imp<span class="sy4">;</span>
<span class="kw1">template</span> <span class="sy1">&lt;</span><span class="kw1">class</span> Allocator<span class="sy1">&gt;</span>
<span class="kw1">using</span> resource_adaptor <span class="sy1">=</span> resource_adaptor_imp<span class="sy1">&lt;</span>
<span class="kw1">typename</span> allocator_traits<span class="sy1">&lt;</span>Allocator<span class="sy1">&gt;</span><span class="sy4">::</span><span class="kw1">template</span> rebind_alloc<span class="sy1">&lt;</span><span class="kw4">char</span><span class="sy1">&gt;&gt;</span><span class="sy4">;</span>
<span class="co1">// &#20840;&#23616;&#20869;&#23384;&#36164;&#28304;</span>
memory_resource<span class="sy2">*</span> new_delete_resource<span class="br0">(</span><span class="br0">)</span> <span class="kw1">noexcept</span><span class="sy4">;</span>
memory_resource<span class="sy2">*</span> null_memory_resource<span class="br0">(</span><span class="br0">)</span> <span class="kw1">noexcept</span><span class="sy4">;</span>
<span class="co1">// &#32570;&#30465;&#20869;&#23384;&#36164;&#28304;</span>
memory_resource<span class="sy2">*</span> set_default_resource<span class="br0">(</span>memory_resource<span class="sy2">*</span> r<span class="br0">)</span> <span class="kw1">noexcept</span><span class="sy4">;</span>
memory_resource<span class="sy2">*</span> get_default_resource<span class="br0">(</span><span class="br0">)</span> <span class="kw1">noexcept</span><span class="sy4">;</span>
<span class="co1">// &#26631;&#20934;&#20869;&#23384;&#36164;&#28304;</span>
<span class="kw1">struct</span> pool_options<span class="sy4">;</span>
<span class="kw1">class</span> synchronized_pool_resource<span class="sy4">;</span>
<span class="kw1">class</span> unsynchronized_pool_resource<span class="sy4">;</span>
<span class="kw1">class</span> monotonic_buffer_resource<span class="sy4">;</span>
<span class="br0">}</span> <span class="co1">// namespace pmr</span>
<span class="br0">}</span> <span class="co1">// namespace fundamentals_v1</span>
<span class="br0">}</span> <span class="co1">// namespace experimental</span>
<span class="br0">}</span> <span class="co1">// namespace std</span></pre></div>
</div>
</div>
<div class="visualClear"></div>
</div>
</div>
</div>
</body>
</html>