558 lines
31 KiB
HTML
558 lines
31 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>std::unordered_set</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_container_unordered_set 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%">std::</span>unordered_set</h1>
|
|
<div id="bodyContent">
|
|
<div id="contentSub"><span class="subpages">< <a href="cpp.html">cpp</a>‎ | <a href="cpp-container.html">container</a></span></div>
|
|
<div id="mw-content-text" lang="zh" dir="ltr" class="mw-content-ltr" xml:lang="zh">
|
|
<table class="t-dcl-begin">
|
|
<tbody>
|
|
<tr class="t-dsc-header">
|
|
<td>
|
|
<div>定义于头文件 <code><a href="cpp-header-unordered_set.html"><unordered_set></a></code></div>
|
|
</td>
|
|
<td></td>
|
|
<td></td>
|
|
</tr>
|
|
<tr class="t-dcl t-since-cxx11">
|
|
<td>
|
|
<div><span class="mw-geshi cpp source-cpp"><span class="kw1">template</span><span class="sy1"><</span><br /></span>
|
|
<p> <span class="kw1">class</span> Key,<br />
|
|
<span class="kw1">class</span> Hash <span class="sy1">=</span> <a href="cpp-utility-hash.html"><span class="kw1124">std::<span class="me2">hash</span></span></a><span class="sy1"><</span>Key<span class="sy1">></span>,<br />
|
|
<span class="kw1">class</span> KeyEqual <span class="sy1">=</span> <a href="cpp-utility-functional-equal_to.html"><span class="kw1035">std::<span class="me2">equal_to</span></span></a><span class="sy1"><</span>Key<span class="sy1">></span>,<br />
|
|
<span class="kw1">class</span> Allocator <span class="sy1">=</span> <a href="cpp-memory-allocator.html"><span class="kw700">std::<span class="me2">allocator</span></span></a><span class="sy1"><</span>Key<span class="sy1">></span><br /></p>
|
|
<span class="sy1">></span> <span class="kw1">class</span> unordered_set<span class="sy4">;</span></div>
|
|
</td>
|
|
<td>(1)</td>
|
|
<td><span class="t-mark-rev t-since-cxx11">(C++11 起)</span></td>
|
|
</tr>
|
|
<tr class="t-dcl t-since-cxx17">
|
|
<td>
|
|
<div><span class="mw-geshi cpp source-cpp"><span class="kw1">namespace</span> pmr <span class="br0">{</span><br /></span>
|
|
<p> <span class="kw1">template</span> <span class="sy1"><</span><span class="kw1">class</span> Key,<br />
|
|
<span class="kw1">class</span> Hash <span class="sy1">=</span> <a href="cpp-utility-hash.html"><span class="kw1124">std::<span class="me2">hash</span></span></a><span class="sy1"><</span>Key<span class="sy1">></span>,<br />
|
|
<span class="kw1">class</span> Pred <span class="sy1">=</span> <a href="cpp-utility-functional-equal_to.html"><span class="kw1035">std::<span class="me2">equal_to</span></span></a><span class="sy1"><</span>Key<span class="sy1">>></span><br />
|
|
<span class="kw1">using</span> unordered_set <span class="sy1">=</span> std<span class="sy4">::</span><span class="me2">unordered_set</span><span class="sy1"><</span>Key, Hash, Pred,<br />
|
|
<a href="cpp-memory-polymorphic_allocator.html"><span class="kw707">std::<span class="me2">pmr</span><span class="sy4">::</span><span class="me2">polymorphic_allocator</span></span></a><span class="sy1"><</span>Key<span class="sy1">>></span><span class="sy4">;</span><br /></p>
|
|
<span class="br0">}</span></div>
|
|
</td>
|
|
<td>(2)</td>
|
|
<td><span class="t-mark-rev t-since-cxx17">(C++17 起)</span></td>
|
|
</tr>
|
|
<tr class="t-dcl-sep">
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>unordered_set 是含有 Key 类型唯一对象集合的关联容器。搜索、插入和移除拥有平均常数时间复杂度。</p>
|
|
<p>在内部,元素并不以任何特别顺序排序,而是组织进桶中。元素被放进哪个桶完全依赖其值的哈希。这允许对单独元素的快速访问,因为哈希一旦确定,就准确指代元素被放入的桶。</p>
|
|
<p>不可修改容器元素(即使通过非 const 迭代器),因为修改可能更改元素的哈希,并破坏容器。</p>
|
|
<p><code>std::unordered_set</code> 满足<a href="cpp-named_req-Container.html"><span style="font-style:italic">容器</span> <span style="font-family: Georgia, 'DejaVu Serif', serif; font-style:italic">(Container)</span></a> 、<a href="cpp-named_req-AllocatorAwareContainer.html"><span style="font-style:italic">知分配器容器</span> <span style="font-family: Georgia, 'DejaVu Serif', serif; font-style:italic">(AllocatorAwareContainer)</span></a> 、<a href="cpp-named_req-UnorderedAssociativeContainer.html"><span style="font-style:italic">无序关联容器</span> <span style="font-family: Georgia, 'DejaVu Serif', serif; font-style:italic">(UnorderedAssociativeContainer)</span></a> 的要求。</p>
|
|
<h3><span class="mw-headline" id=".E6.88.90.E5.91.98.E7.B1.BB.E5.9E.8B">成员类型</span></h3>
|
|
<table class="t-dsc-begin">
|
|
<tr class="t-dsc-hitem">
|
|
<td>成员类型</td>
|
|
<td>定义</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td><code>key_type</code></td>
|
|
<td><code>Key</code></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td><code>value_type</code></td>
|
|
<td><code>Key</code></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td><code>size_type</code></td>
|
|
<td>无符号整数类型(通常是 <span class="t-lc"><a href="cpp-types-size_t.html">std::size_t</a></span> )</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td><code>difference_type</code></td>
|
|
<td>有符号整数类型(通常是 <span class="t-lc"><a href="cpp-types-ptrdiff_t.html">std::ptrdiff_t</a></span> )</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td><code>hasher</code></td>
|
|
<td><code>Hash</code></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td><code>key_equal</code></td>
|
|
<td><code>KeyEqual</code></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td><code>allocator_type</code></td>
|
|
<td><code>Allocator</code></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td><code>reference</code></td>
|
|
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">value_type<span class="sy3">&</span></span></span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td><code>const_reference</code></td>
|
|
<td><span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">const</span> value_type<span class="sy3">&</span></span></span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td><code>pointer</code></td>
|
|
<td><span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-memory-allocator_traits.html"><span class="kw701">std::<span class="me2">allocator_traits</span></span></a><span class="sy1"><</span>Allocator<span class="sy1">></span><span class="sy4">::</span><span class="me2">pointer</span></span></span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td><code>const_pointer</code></td>
|
|
<td><span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-memory-allocator_traits.html"><span class="kw701">std::<span class="me2">allocator_traits</span></span></a><span class="sy1"><</span>Allocator<span class="sy1">></span><span class="sy4">::</span><span class="me2">const_pointer</span></span></span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td><code>iterator</code></td>
|
|
<td>指向 <code>value_type</code> 的常<a href="cpp-named_req-ForwardIterator.html"><span style="font-style:italic">老式向前迭代器</span> <span style="font-family: Georgia, 'DejaVu Serif', serif; font-style:italic">(LegacyForwardIterator)</span></a></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td><code>const_iterator</code></td>
|
|
<td>指向 <code>const value_type</code> 的<a href="cpp-named_req-ForwardIterator.html"><span style="font-style:italic">老式向前迭代器</span> <span style="font-family: Georgia, 'DejaVu Serif', serif; font-style:italic">(LegacyForwardIterator)</span></a></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td><code>local_iterator</code></td>
|
|
<td>类别、值、差、指针和引用类型都与 <code>iterator</code> 相同的迭代器类型。<br />
|
|
能用此迭代器在单个桶迭代,但不能跨桶。</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td><code>const_local_iterator</code></td>
|
|
<td>类别、值、差、指针和引用类型都与 <code>const_iterator</code> 相同的迭代器类型。<br />
|
|
能用此迭代器在单个桶迭代,但不能跨桶。</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td><code>node_type</code><span class="t-mark-rev t-since-cxx17">(C++17 起)</span></td>
|
|
<td>表示容器结点的<a href="cpp-container-node_handle.html">结点把柄</a>特化</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td><code>insert_return_type</code><span class="t-mark-rev t-since-cxx17">(C++17 起)</span></td>
|
|
<td>描述插入 <code>node_type</code> 结果的类型,下列类型的特化
|
|
<div dir="ltr" class="mw-geshi" style="text-align: left;">
|
|
<div class="cpp source-cpp">
|
|
<pre class="de1"><span class="kw1">template</span> <span class="sy1"><</span><span class="kw1">class</span> Iter, <span class="kw1">class</span> NodeType<span class="sy1">></span> <span class="kw1">struct</span> <span class="coMULTI">/*unspecified*/</span> <span class="br0">{</span>
|
|
Iter position<span class="sy4">;</span>
|
|
<span class="kw4">bool</span> inserted<span class="sy4">;</span>
|
|
NodeType node<span class="sy4">;</span>
|
|
<span class="br0">}</span><span class="sy4">;</span></pre></div>
|
|
</div>
|
|
,以模板实参 <code>iterator</code> 和 <code>node_type</code> 实例化。</td>
|
|
</tr>
|
|
</table>
|
|
<h3><span class="mw-headline" id=".E6.88.90.E5.91.98.E5.87.BD.E6.95.B0">成员函数</span></h3>
|
|
<table class="t-dsc-begin">
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div t-dsc-member-nobold-div">
|
|
<div><a href="cpp-container-unordered_set-unordered_set.html"><span class="t-lines"><span>(构造函数)</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>构造 <code>unordered_set</code><br />
|
|
<span class="t-mark">(公开成员函数)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div t-dsc-member-nobold-div">
|
|
<div><a href="cpp-container-unordered_set-~unordered_set.html"><span class="t-lines"><span>(析构函数)</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>析构 <code>unordered_set</code><br />
|
|
<span class="t-mark">(公开成员函数)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-container-unordered_set-operator=.html"><span class="t-lines"><span>operator=</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>赋值给容器<br />
|
|
<span class="t-mark">(公开成员函数)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-container-unordered_set-get_allocator.html"><span class="t-lines"><span>get_allocator</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>返回相关的分配器<br />
|
|
<span class="t-mark">(公开成员函数)</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
<h5><span class="mw-headline" id=".E8.BF.AD.E4.BB.A3.E5.99.A8">迭代器</span></h5>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-container-unordered_set-begin.html"><span class="t-lines"><span>begin</span> <span>cbegin</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>返回指向起始的迭代器<br />
|
|
<span class="t-mark">(公开成员函数)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-container-unordered_set-end.html"><span class="t-lines"><span>end</span> <span>cend</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>返回指向末尾的迭代器<br />
|
|
<span class="t-mark">(公开成员函数)</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
<h5><span class="mw-headline" id=".E5.AE.B9.E9.87.8F">容量</span></h5>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-container-unordered_set-empty.html"><span class="t-lines"><span>empty</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>检查容器是否为空<br />
|
|
<span class="t-mark">(公开成员函数)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-container-unordered_set-size.html"><span class="t-lines"><span>size</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>返回容纳的元素数<br />
|
|
<span class="t-mark">(公开成员函数)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-container-unordered_set-max_size.html"><span class="t-lines"><span>max_size</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>返回可容纳的最大元素数<br />
|
|
<span class="t-mark">(公开成员函数)</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
<h5><span class="mw-headline" id=".E4.BF.AE.E6.94.B9.E5.99.A8">修改器</span></h5>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-container-unordered_set-clear.html"><span class="t-lines"><span>clear</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>清除内容<br />
|
|
<span class="t-mark">(公开成员函数)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-container-unordered_set-insert.html"><span class="t-lines"><span>insert</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>插入元素<span class="t-rev-inl t-since-cxx17"><span>或结点</span> <span><span class="t-mark-rev t-since-cxx17">(C++17 起)</span></span></span><br />
|
|
<span class="t-mark">(公开成员函数)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-container-unordered_set-emplace.html"><span class="t-lines"><span>emplace</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>原位构造元素<br />
|
|
<span class="t-mark">(公开成员函数)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-container-unordered_set-emplace_hint.html"><span class="t-lines"><span>emplace_hint</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>使用提示原位构造元素<br />
|
|
<span class="t-mark">(公开成员函数)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-container-unordered_set-erase.html"><span class="t-lines"><span>erase</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>擦除元素<br />
|
|
<span class="t-mark">(公开成员函数)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-container-unordered_set-swap.html"><span class="t-lines"><span>swap</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>交换内容<br />
|
|
<span class="t-mark">(公开成员函数)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-container-unordered_set-extract.html"><span class="t-lines"><span>extract</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx17">(C++17)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>从另一容器释出结点<br />
|
|
<span class="t-mark">(公开成员函数)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-container-unordered_set-merge.html"><span class="t-lines"><span>merge</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx17">(C++17)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>从另一容器接合结点<br />
|
|
<span class="t-mark">(公开成员函数)</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
<h5><span class="mw-headline" id=".E6.9F.A5.E6.89.BE">查找</span></h5>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-container-unordered_set-count.html"><span class="t-lines"><span>count</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>返回匹配特定键的元素数量<br />
|
|
<span class="t-mark">(公开成员函数)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-container-unordered_set-find.html"><span class="t-lines"><span>find</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>寻找带有特定键的元素<br />
|
|
<span class="t-mark">(公开成员函数)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-container-unordered_set-contains.html"><span class="t-lines"><span>contains</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx20">(C++20)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>检查容器是否含有带特定键的元素<br />
|
|
<span class="t-mark">(公开成员函数)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-container-unordered_set-equal_range.html"><span class="t-lines"><span>equal_range</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>返回匹配特定键的元素范围<br />
|
|
<span class="t-mark">(公开成员函数)</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
<h5><span class="mw-headline" id=".E6.A1.B6.E6.8E.A5.E5.8F.A3">桶接口</span></h5>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-container-unordered_set-begin2.html"><span class="t-lines"><span>begin<span class="t-dsc-small">(size_type)</span></span> <span>cbegin<span class="t-dsc-small">(size_type)</span></span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>返回一个迭代器,指向指定的桶的开始<br />
|
|
<span class="t-mark">(公开成员函数)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-container-unordered_set-end2.html"><span class="t-lines"><span>end<span class="t-dsc-small">(size_type)</span></span> <span>cend<span class="t-dsc-small">(size_type)</span></span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>返回一个迭代器,指向指定的桶的末尾<br />
|
|
<span class="t-mark">(公开成员函数)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-container-unordered_set-bucket_count.html"><span class="t-lines"><span>bucket_count</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>返回桶数<br />
|
|
<span class="t-mark">(公开成员函数)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-container-unordered_set-max_bucket_count.html"><span class="t-lines"><span>max_bucket_count</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>返回桶的最大数量<br />
|
|
<span class="t-mark">(公开成员函数)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-container-unordered_set-bucket_size.html"><span class="t-lines"><span>bucket_size</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>返回在特定的桶中的元素数量<br />
|
|
<span class="t-mark">(公开成员函数)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-container-unordered_set-bucket.html"><span class="t-lines"><span>bucket</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>返回带有特定键的桶<br />
|
|
<span class="t-mark">(公开成员函数)</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
<h5><span class="mw-headline" id=".E5.93.88.E5.B8.8C.E7.AD.96.E7.95.A5">哈希策略</span></h5>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-container-unordered_set-load_factor.html"><span class="t-lines"><span>load_factor</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>返回每个桶的平均元素数量<br />
|
|
<span class="t-mark">(公开成员函数)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-container-unordered_set-max_load_factor.html"><span class="t-lines"><span>max_load_factor</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>管理每个桶的平均元素数量的最大值<br />
|
|
<span class="t-mark">(公开成员函数)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-container-unordered_set-rehash.html"><span class="t-lines"><span>rehash</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>为至少为指定数量的桶预留存储空间并重新生成散列表<br />
|
|
<span class="t-mark">(公开成员函数)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-container-unordered_set-reserve.html"><span class="t-lines"><span>reserve</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>为至少为指定数量的元素预留存储空间并重新生成哈希表。<br />
|
|
<span class="t-mark">(公开成员函数)</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
<h5><span class="mw-headline" id=".E8.A7.82.E5.AF.9F.E5.99.A8">观察器</span></h5>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-container-unordered_set-hash_function.html"><span class="t-lines"><span>hash_function</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>返回用于对键散列的函数<br />
|
|
<span class="t-mark">(公开成员函数)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-container-unordered_set-key_eq.html"><span class="t-lines"><span>key_eq</span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>返回用于比较键的相等性的函数<br />
|
|
<span class="t-mark">(公开成员函数)</span></td>
|
|
</tr>
|
|
</table>
|
|
<h3><span class="mw-headline" id=".E9.9D.9E.E6.88.90.E5.91.98.E5.87.BD.E6.95.B0">非成员函数</span></h3>
|
|
<table class="t-dsc-begin">
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-container-unordered_set-operator_cmp.html"><span class="t-lines"><span>operator==</span><span>operator!=</span></span></a></div>
|
|
<div><span class="t-lines"><span></span><span><span class="t-mark-rev t-until-cxx20">(C++20 中移除)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>比较 unordered_set 中的值<br />
|
|
<span class="t-mark">(函数模板)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-container-unordered_set-swap2.html"><span class="t-lines"><span>std::swap<span class="t-dsc-small">(std::unordered_set)</span></span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>特化 <span class="t-lc"><a href="cpp-algorithm-swap.html">std::swap</a></span> 算法<br />
|
|
<span class="t-mark">(函数模板)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-container-unordered_set-erase_if.html"><span class="t-lines"><span>erase_if<span class="t-dsc-small">(std::unordered_set)</span></span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx20">(C++20)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>擦除所有满足特定判别标准的元素<br />
|
|
<span class="t-mark">(函数模板)</span></td>
|
|
</tr>
|
|
</table>
|
|
<h3><span class="mw-headline" id=".E6.8E.A8.E5.AF.BC.E6.8C.87.E5.BC.95.28C.2B.2B17_.E8.B5.B7.29"><a href="cpp-container-unordered_set-deduction_guides.html">推导指引</a><span class="t-mark-rev t-since-cxx17">(C++17 起)</span></span></h3>
|
|
<h3><span class="mw-headline" id=".E6.B3.A8.E6.84.8F">注意</span></h3>
|
|
<p>成员类型 <code>iterator</code> 与 <code>const_iterator</code> 可能是同一类型的别名。这表明以二个类型为参数类型的一对函数重载可能违背<a href="cpp-language-definition.html#.E5.8D.95.E4.B8.80.E5.AE.9A.E4.B9.89.E8.A7.84.E5.88.99.EF.BC.88ODR.EF.BC.89">单一定义规则</a>。因为 <code>iterator</code> 可转换为 <code>const_iterator</code> ,单个以 <code>const_iterator</code> 为参数类型的函数会是有效的。</p>
|
|
</div>
|
|
<div class="visualClear"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|