489 lines
26 KiB
HTML
489 lines
26 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::multiset</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_multiset 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>multiset</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-set.html"><set></a></code></div>
|
|
</td>
|
|
<td></td>
|
|
<td></td>
|
|
</tr>
|
|
<tr class="t-dcl">
|
|
<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> Compare <span class="sy1">=</span> <a href="cpp-utility-functional-less.html"><span class="kw1039">std::<span class="me2">less</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> multiset<span class="sy4">;</span></div>
|
|
</td>
|
|
<td>(1)</td>
|
|
<td class="t-dcl-nopad"></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, <span class="kw1">class</span> Compare <span class="sy1">=</span> <a href="cpp-utility-functional-less.html"><span class="kw1039">std::<span class="me2">less</span></span></a><span class="sy1"><</span>Key<span class="sy1">>></span><br />
|
|
<span class="kw1">using</span> multiset <span class="sy1">=</span> std<span class="sy4">::</span><span class="me2">multiset</span><span class="sy1"><</span>Key, Compare,<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><code>std::multiset</code> 是含有 Key 类型对象有序集的容器。不同于 set ,它允许多个 Key 拥有等价的值。用关键比较函数 Compare 进行排序。搜索、插入和移除操作拥有对数复杂度。</p>
|
|
<p>在标准库使用<a href="cpp-named_req-Compare.html"><span style="font-style:italic">比较</span> <span style="font-family: Georgia, 'DejaVu Serif', serif; font-style:italic">(Compare)</span></a> 概念的每处,都用描述于<a href="cpp-named_req-Compare.html"><span style="font-style:italic">比较</span> <span style="font-family: Georgia, 'DejaVu Serif', serif; font-style:italic">(Compare)</span></a> 的等价关系确定等价性。不精确地说,若二个对象 <code>a</code> 和 <code>b</code> 互不比较小于对方: <code>!comp(a, b) && !comp(b, a)</code> ,则认为它们等价。</p>
|
|
<p>比较等价的元素顺序是插入顺序,而且不会更改。<span class="t-mark-rev t-since-cxx11">(C++11 起)</span></p>
|
|
<p><code>std::multiset</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-AssociativeContainer.html"><span style="font-style:italic">关联容器</span> <span style="font-family: Georgia, 'DejaVu Serif', serif; font-style:italic">(AssociativeContainer)</span></a> 和<a href="cpp-named_req-ReversibleContainer.html"><span style="font-style:italic">可逆容器</span> <span style="font-family: Georgia, 'DejaVu Serif', serif; font-style:italic">(ReversibleContainer)</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>key_compare</code></td>
|
|
<td><code>Compare</code></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td><code>value_compare</code></td>
|
|
<td><code>Compare</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>
|
|
<table class="t-rev-begin t-rev-begin-noborder">
|
|
<tr class="t-rev t-until-cxx11">
|
|
<td><code>Allocator::pointer</code></td>
|
|
<td><span class="t-mark-rev t-until-cxx11">(C++11 前)</span></td>
|
|
</tr>
|
|
<tr class="t-rev t-since-cxx11">
|
|
<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>
|
|
<td><span class="t-mark-rev t-since-cxx11">(C++11 起)</span></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td><code>const_pointer</code></td>
|
|
<td>
|
|
<table class="t-rev-begin t-rev-begin-noborder">
|
|
<tr class="t-rev t-until-cxx11">
|
|
<td><code>Allocator::const_pointer</code></td>
|
|
<td><span class="t-mark-rev t-until-cxx11">(C++11 前)</span></td>
|
|
</tr>
|
|
<tr class="t-rev t-since-cxx11">
|
|
<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>
|
|
<td><span class="t-mark-rev t-since-cxx11">(C++11 起)</span></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td><code>iterator</code></td>
|
|
<td>指向 <code>value_type</code> 的常<a href="cpp-named_req-BidirectionalIterator.html"><span style="font-style:italic">老式双向迭代器</span> <span style="font-family: Georgia, 'DejaVu Serif', serif; font-style:italic">(LegacyBidirectionalIterator)</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-BidirectionalIterator.html"><span style="font-style:italic">老式双向迭代器</span> <span style="font-family: Georgia, 'DejaVu Serif', serif; font-style:italic">(LegacyBidirectionalIterator)</span></a></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td><code>reverse_iterator</code></td>
|
|
<td><span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-iterator-reverse_iterator.html"><span class="kw658">std::<span class="me2">reverse_iterator</span></span></a><span class="sy1"><</span>iterator<span class="sy1">></span></span></span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td><code>const_reverse_iterator</code></td>
|
|
<td><span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-iterator-reverse_iterator.html"><span class="kw658">std::<span class="me2">reverse_iterator</span></span></a><span class="sy1"><</span>const_iterator<span class="sy1">></span></span></span></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>
|
|
</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-multiset-multiset.html"><span class="t-lines"><span>(构造函数)</span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>构造 <code>multiset</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-multiset-~multiset.html"><span class="t-lines"><span>(析构函数)</span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>析构 <code>multiset</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-multiset-operator=.html"><span class="t-lines"><span>operator=</span></span></a></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-multiset-get_allocator.html"><span class="t-lines"><span>get_allocator</span></span></a></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-multiset-begin.html"><span class="t-lines"><span>begin</span> <span>cbegin</span></span></a></div>
|
|
<div><span class="t-lines"><span></span><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-multiset-end.html"><span class="t-lines"><span>end</span> <span>cend</span></span></a></div>
|
|
<div><span class="t-lines"><span></span><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-multiset-rbegin.html"><span class="t-lines"><span>rbegin</span><span>crbegin</span></span></a></div>
|
|
<div><span class="t-lines"><span></span><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-multiset-rend.html"><span class="t-lines"><span>rend</span><span>crend</span></span></a></div>
|
|
<div><span class="t-lines"><span></span><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-multiset-empty.html"><span class="t-lines"><span>empty</span></span></a></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-multiset-size.html"><span class="t-lines"><span>size</span></span></a></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-multiset-max_size.html"><span class="t-lines"><span>max_size</span></span></a></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-multiset-clear.html"><span class="t-lines"><span>clear</span></span></a></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-multiset-insert.html"><span class="t-lines"><span>insert</span></span></a></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-multiset-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-multiset-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-multiset-erase.html"><span class="t-lines"><span>erase</span></span></a></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-multiset-swap.html"><span class="t-lines"><span>swap</span></span></a></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-multiset-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-multiset-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-multiset-count.html"><span class="t-lines"><span>count</span></span></a></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-multiset-find.html"><span class="t-lines"><span>find</span></span></a></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-multiset-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-multiset-equal_range.html"><span class="t-lines"><span>equal_range</span></span></a></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-multiset-lower_bound.html"><span class="t-lines"><span>lower_bound</span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>返回指向首个<i>不小于</i>给定键的元素的迭代器<br />
|
|
<span class="t-mark">(公开成员函数)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-container-multiset-upper_bound.html"><span class="t-lines"><span>upper_bound</span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>返回指向首个<i>大于</i>给定键的元素的迭代器<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-multiset-key_comp.html"><span class="t-lines"><span>key_comp</span></span></a></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-multiset-value_comp.html"><span class="t-lines"><span>value_comp</span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>返回用于在value_type类型的对象中比较键的函数。<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-multiset-operator_cmp.html"><span class="t-lines"><span>operator==</span><span>operator!=</span><span>operator<</span><span>operator<=</span><span>operator></span><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><span class="t-mark-rev t-until-cxx20">(C++20 中移除)</span></span><span><span class="t-mark-rev t-until-cxx20">(C++20 中移除)</span></span><span><span class="t-mark-rev t-until-cxx20">(C++20 中移除)</span></span><span><span class="t-mark-rev t-until-cxx20">(C++20 中移除)</span></span><span><span class="t-mark-rev t-since-cxx20">(C++20)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>按照字典顺序比较 multiset 中的值<br />
|
|
<span class="t-mark">(函数模板)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-container-multiset-swap2.html"><span class="t-lines"><span>std::swap<span class="t-dsc-small">(std::multiset)</span></span></span></a></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-multiset-erase_if.html"><span class="t-lines"><span>erase_if<span class="t-dsc-small">(std::multiset)</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-multiset-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>
|
|
<h3><span class="mw-headline" id=".E7.BC.BA.E9.99.B7.E6.8A.A5.E5.91.8A">缺陷报告</span></h3>
|
|
<p>下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。</p>
|
|
<table class="dsctable" style="font-size:0.8em">
|
|
<tr>
|
|
<th>DR</th>
|
|
<th>应用于</th>
|
|
<th>出版时的行为</th>
|
|
<th>正确行为</th>
|
|
</tr>
|
|
<tr>
|
|
<td><a rel="nofollow" class="external text" href="https://cplusplus.github.io/LWG/issue103">LWG 103</a></td>
|
|
<td>C++98</td>
|
|
<td>迭代器允许修改关键</td>
|
|
<td>使迭代器为常</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="visualClear"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|