770 lines
44 KiB
HTML
770 lines
44 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>具名要求</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_named_req skin-cppreference2 action-view cpp-navbar">
|
|
<div id="cpp-content-base">
|
|
<div id="content"><a id="top"></a>
|
|
<h1 id="firstHeading" class="firstHeading">具名要求</h1>
|
|
<div id="bodyContent">
|
|
<div id="contentSub"><span class="subpages">< <a href="cpp.html">cpp</a></span></div>
|
|
<div id="mw-content-text" lang="zh" dir="ltr" class="mw-content-ltr" xml:lang="zh">
|
|
<p>此页面中列出的<i>具名要求</i>,是 C++ 标准的规范性文本中使用的具名要求,用于定义标准库的期待。</p>
|
|
<p>某些具名要求在 C++20 中正在以<a href="cpp-language-constraints.html">概念</a>语言特性进行形式化。在那之前,确保以满足这些要求的模板实参实例化标准库模板是程序员的重担。若不这么做,则可能导致非常复杂的编译器诊断。</p>
|
|
<table class="t-dsc-begin">
|
|
<tr>
|
|
<td colspan="2">
|
|
<h3><span class="mw-headline" id=".E5.9F.BA.E6.9C.AC.E6.A6.82.E5.BF.B5">基本概念</span></h3>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-DefaultConstructible.html"><span class="t-lines"><span>DefaultConstructible</span><span><i>可默认构造</i></span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>指定该类型对象可以默认构造<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-MoveConstructible.html"><span class="t-lines"><span>MoveConstructible</span><span><i>可移动构造</i></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-named-req-div">
|
|
<div><a href="cpp-named_req-CopyConstructible.html"><span class="t-lines"><span>CopyConstructible</span><span><i>可复制构造</i></span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>指定该类型对象可以从左值构造<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-MoveAssignable.html"><span class="t-lines"><span>MoveAssignable</span><span><i>可移动赋值</i></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-named-req-div">
|
|
<div><a href="cpp-named_req-CopyAssignable.html"><span class="t-lines"><span>CopyAssignable</span><span><i>可复制赋值</i></span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>指定该类型对象可以从左值赋值<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-Destructible.html"><span class="t-lines"><span>Destructible</span><span><i>可析构</i></span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>指定该对象可以析构<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
<h3><span class="mw-headline" id=".E7.B1.BB.E5.9E.8B.E5.B1.9E.E6.80.A7">类型属性</span></h3>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td colspan="2">注意,标准并未定义这个子类别中指定的各名字的具名要求。<br />
|
|
它们是由核心语言定义的类型分类。将它们作为具名要求于此处包含只是为了一致性。</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-TriviallyCopyable.html"><span class="t-lines"><span>TriviallyCopyable</span><span><i>可平凡复制</i></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-named-req-div">
|
|
<div><a href="cpp-named_req-TrivialType.html"><span class="t-lines"><span>TrivialType</span><span><i>平凡类型</i></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-named-req-div">
|
|
<div><a href="cpp-named_req-StandardLayoutType.html"><span class="t-lines"><span>StandardLayoutType</span><span><i>标准布局类型</i></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>非虚类,仅包含其他标准布局 (standard layout) 成员,且其全部具有相同的访问控制<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-PODType.html"><span class="t-lines"><span>PODType</span><span><i>简旧数据类型</i></span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>POD(简旧数据)结构体,与 C 的 <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw1">struct</span></span></span> 兼容<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
<h3><span class="mw-headline" id=".E5.85.A8.E5.BA.93.E8.8C.83.E5.9B.B4.E7.9A.84.E6.A6.82.E5.BF.B5">全库范围的概念</span></h3>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-EqualityComparable.html"><span class="t-lines"><span>EqualityComparable</span><span><i>可相等比较</i></span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td><code>operator==</code> 是一种等价关系<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-LessThanComparable.html"><span class="t-lines"><span>LessThanComparable</span><span><i>可小于比较</i></span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td><code>operator<</code> 是一种严格弱序关系<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-Swappable.html"><span class="t-lines"><span>Swappable</span><span><i>可交换</i></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-c"><span class="mw-geshi cpp source-cpp">swap<span class="br0">(</span><span class="br0">)</span></span></span> 进行交换的类型<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-ValueSwappable.html"><span class="t-lines"><span>ValueSwappable</span><span><i>值可交换</i></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>解引用为某种<a href="cpp-named_req-Swappable.html"><span style="font-style:italic">可交换</span> <span style="font-family: Georgia, 'DejaVu Serif', serif; font-style:italic">(Swappable)</span></a> 类型的<a href="cpp-named_req-Iterator.html"><span style="font-style:italic">老式迭代器</span> <span style="font-family: Georgia, 'DejaVu Serif', serif; font-style:italic">(LegacyIterator)</span></a><br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-NullablePointer.html"><span class="t-lines"><span>NullablePointer</span><span><i>可空指针</i></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-named-req-div">
|
|
<div><a href="cpp-named_req-Hash.html"><span class="t-lines"><span>Hash</span><span><i>散列</i></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><a href="cpp-named_req-FunctionObject.html"><span style="font-style:italic">函数对象</span> <span style="font-family: Georgia, 'DejaVu Serif', serif; font-style:italic">(FunctionObject)</span></a> ,对于不同输入值产生相同输出具有很低概率<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-Allocator.html"><span class="t-lines"><span>Allocator</span><span><i>分配器</i></span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>包含分配信息的类类型<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-FunctionObject.html"><span class="t-lines"><span>FunctionObject</span><span><i>函数对象</i></span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>能以函数调用语法进行调用的对象<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-Callable.html"><span class="t-lines"><span>Callable</span><span><i>可调用</i></span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>定义了调用操作的类型<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-Predicate.html"><span class="t-lines"><span>Predicate</span><span><i>谓词</i></span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td><a href="cpp-named_req-FunctionObject.html"><span style="font-style:italic">函数对象</span> <span style="font-family: Georgia, 'DejaVu Serif', serif; font-style:italic">(FunctionObject)</span></a> ,对于一个实参,返回一个可转换为 <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">bool</span></span></span> 的值而不改动实参<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-BinaryPredicate.html"><span class="t-lines"><span>BinaryPredicate</span><span><i>二元谓词</i></span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td><a href="cpp-named_req-FunctionObject.html"><span style="font-style:italic">函数对象</span> <span style="font-family: Georgia, 'DejaVu Serif', serif; font-style:italic">(FunctionObject)</span></a> ,对于两个实参,返回一个可转换为 <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">bool</span></span></span> 的值而不改动各实参<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-Compare.html"><span class="t-lines"><span>Compare</span><span><i>比较</i></span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>建立一种顺序关系的<a href="cpp-named_req-BinaryPredicate.html"><span style="font-style:italic">二元谓词</span> <span style="font-family: Georgia, 'DejaVu Serif', serif; font-style:italic">(BinaryPredicate)</span></a><br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
</table>
|
|
<table class="t-dsc-begin">
|
|
<tr>
|
|
<td colspan="2">
|
|
<h3><span class="mw-headline" id=".E5.AE.B9.E5.99.A8">容器</span></h3>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-Container.html"><span class="t-lines"><span>Container</span><span><i>容器</i></span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>允许通过迭代器访问元素的数据结构<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-ReversibleContainer.html"><span class="t-lines"><span>ReversibleContainer</span><span><i>可逆容器</i></span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>使用双向迭代器的容器<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-AllocatorAwareContainer.html"><span class="t-lines"><span>AllocatorAwareContainer</span><span><i>知分配器容器</i></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-named-req-div">
|
|
<div><a href="cpp-named_req-SequenceContainer.html"><span class="t-lines"><span>SequenceContainer</span><span><i>序列容器</i></span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>线性存储各元素的容器<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-ContiguousContainer.html"><span class="t-lines"><span>ContiguousContainer</span><span><i>连续容器</i></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-named-req-div">
|
|
<div><a href="cpp-named_req-AssociativeContainer.html"><span class="t-lines"><span>AssociativeContainer</span><span><i>关联容器</i></span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>将元素与键相关联而存储它们的容器<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-UnorderedAssociativeContainer.html"><span class="t-lines"><span>UnorderedAssociativeContainer</span><span><i>无序关联容器</i></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.E5.99.A8.E5.85.83.E7.B4.A0">容器元素</span></h5>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-DefaultInsertable.html"><span class="t-lines"><span>DefaultInsertable</span><span><i>可默认插入</i></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-named-req-div">
|
|
<div><a href="cpp-named_req-CopyInsertable.html"><span class="t-lines"><span>CopyInsertable</span><span><i>可复制插入</i></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-named-req-div">
|
|
<div><a href="cpp-named_req-MoveInsertable.html"><span class="t-lines"><span>MoveInsertable</span><span><i>可移动插入</i></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-named-req-div">
|
|
<div><a href="cpp-named_req-EmplaceConstructible.html"><span class="t-lines"><span>EmplaceConstructible</span><span><i>可就位构造</i></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-named-req-div">
|
|
<div><a href="cpp-named_req-Erasable.html"><span class="t-lines"><span>Erasable</span><span><i>可擦除</i></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">
|
|
<h3><span class="mw-headline" id=".E8.BF.AD.E4.BB.A3.E5.99.A8">迭代器</span></h3>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-Iterator.html"><span class="t-lines"><span>LegacyIterator</span><span><i>老式迭代器</i></span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>在一些数据结构内访问数据的通用概念<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-InputIterator.html"><span class="t-lines"><span>LegacyInputIterator</span><span><i>老式输入迭代器</i></span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>可用于读数据的迭代器<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-OutputIterator.html"><span class="t-lines"><span>LegacyOutputIterator</span><span><i>老式输出迭代器</i></span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>可用于写数据的迭代器<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-ForwardIterator.html"><span class="t-lines"><span>LegacyForwardIterator</span><span><i>老式向前迭代器</i></span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>可用于多次读数据的迭代器<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-BidirectionalIterator.html"><span class="t-lines"><span>LegacyBidirectionalIterator</span><span><i>老式双向迭代器</i></span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>可增可减的迭代器<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-RandomAccessIterator.html"><span class="t-lines"><span>LegacyRandomAccessIterator</span><span><i>老式随机访问迭代器</i></span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>可在常数时间内增加的迭代器<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-ContiguousIterator.html"><span class="t-lines"><span>LegacyContiguousIterator</span><span><i>老式连续迭代器</i></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-named-req-div">
|
|
<div><a href="cpp-named_req-ConstexprIterator.html"><span class="t-lines"><span>ConstexprIterator</span><span><i>常量表达式迭代器</i></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>
|
|
<td colspan="2">
|
|
<h3><span class="mw-headline" id=".E6.B5.81_I.2FO_.E5.87.BD.E6.95.B0">流 I/O 函数</span></h3>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-UnformattedInputFunction.html"><span class="t-lines"><span>UnformattedInputFunction</span><span><i>无格式输入函数</i></span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>不跳过前导空格并对处理字符计数的流输入函数<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-FormattedInputFunction.html"><span class="t-lines"><span>FormattedInputFunction</span><span><i>有格式输入函数</i></span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>跳过前导空格的流输入函数<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-UnformattedOutputFunction.html"><span class="t-lines"><span>UnformattedOutputFunction</span><span><i>无格式输出函数</i></span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>基本流输出函数<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-FormattedOutputFunction.html"><span class="t-lines"><span>FormattedOutputFunction</span><span><i>有格式输出函数</i></span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>出错时设置失败位并返回流引用的流输出函数<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
<h3><span class="mw-headline" id=".E9.9A.8F.E6.9C.BA.E6.95.B0.E7.94.9F.E6.88.90">随机数生成</span></h3>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-SeedSequence.html"><span class="t-lines"><span>SeedSequence</span><span><i>种子序列</i></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>消耗一个整数序列,产出一个 32 位无符号值的序列<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-UniformRandomBitGenerator.html"><span class="t-lines"><span>UniformRandomBitGenerator</span><span><i>均匀随机位生成器</i></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-named-req-div">
|
|
<div><a href="cpp-named_req-RandomNumberEngine.html"><span class="t-lines"><span>RandomNumberEngine</span><span><i>随机数引擎</i></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>由种子定义的确定性<a href="cpp-named_req-UniformRandomBitGenerator.html"><span style="font-style:italic">均匀随机位生成器</span> <span style="font-family: Georgia, 'DejaVu Serif', serif; font-style:italic">(UniformRandomBitGenerator)</span></a><br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-RandomNumberEngineAdaptor.html"><span class="t-lines"><span>RandomNumberEngineAdaptor</span><span><i>随机数引擎适配器</i></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>对另一个<a href="cpp-named_req-RandomNumberEngine.html"><span style="font-style:italic">随机数引擎</span> <span style="font-family: Georgia, 'DejaVu Serif', serif; font-style:italic">(RandomNumberEngine)</span></a> 的输出进行变换的<a href="cpp-named_req-RandomNumberEngine.html"><span style="font-style:italic">随机数引擎</span> <span style="font-family: Georgia, 'DejaVu Serif', serif; font-style:italic">(RandomNumberEngine)</span></a><br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-RandomNumberDistribution.html"><span class="t-lines"><span>RandomNumberDistribution</span><span><i>随机数分布</i></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">
|
|
<h3><span class="mw-headline" id=".E5.B9.B6.E5.8F.91">并发</span></h3>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-BasicLockable.html"><span class="t-lines"><span>BasicLockable</span><span><i>基本可锁定</i></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-named-req-div">
|
|
<div><a href="cpp-named_req-Lockable.html"><span class="t-lines"><span>Lockable</span><span><i>可锁定</i></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>支持尝试进行锁获取<a href="cpp-named_req-BasicLockable.html"><span style="font-style:italic">基本可锁定</span> <span style="font-family: Georgia, 'DejaVu Serif', serif; font-style:italic">(BasicLockable)</span></a><br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-TimedLockable.html"><span class="t-lines"><span>TimedLockable</span><span><i>可定时锁定</i></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>支持定时锁获取的<a href="cpp-named_req-Lockable.html"><span style="font-style:italic">可锁定</span> <span style="font-family: Georgia, 'DejaVu Serif', serif; font-style:italic">(Lockable)</span></a><br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-SharedLockable.html"><span class="t-lines"><span>SharedLockable</span><span><i>可共享锁定</i></span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx14">(C++14)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>为执行代理(即线程)提供共享所有权语义<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-SharedTimedLockable.html"><span class="t-lines"><span>SharedTimedLockable</span><span><i>可共享定时锁定</i></span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx14">(C++14)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>支持定时锁获取的<a href="cpp-named_req-SharedLockable.html"><span style="font-style:italic">可共享锁定</span> <span style="font-family: Georgia, 'DejaVu Serif', serif; font-style:italic">(SharedLockable)</span></a><br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-Mutex.html"><span class="t-lines"><span>Mutex</span><span><i>互斥体</i></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>提供免受数据竞争的保护和顺序一致同步操作的<a href="cpp-named_req-Lockable.html"><span style="font-style:italic">可锁定</span> <span style="font-family: Georgia, 'DejaVu Serif', serif; font-style:italic">(Lockable)</span></a><br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-TimedMutex.html"><span class="t-lines"><span>TimedMutex</span><span><i>定时互斥体</i></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>提供免受数据竞争的保护和顺序一致同步操作的<a href="cpp-named_req-TimedLockable.html"><span style="font-style:italic">可定时锁定</span> <span style="font-family: Georgia, 'DejaVu Serif', serif; font-style:italic">(TimedLockable)</span></a><br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-SharedMutex.html"><span class="t-lines"><span>SharedMutex</span><span><i>共享互斥体</i></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>支持共享所有权语义的<a href="cpp-named_req-Mutex.html"><span style="font-style:italic">互斥体</span> <span style="font-family: Georgia, 'DejaVu Serif', serif; font-style:italic">(Mutex)</span></a><br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-SharedTimedMutex.html"><span class="t-lines"><span>SharedTimedMutex</span><span><i>共享定时互斥体</i></span></span></a></div>
|
|
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx14">(C++14)</span></span></span></div>
|
|
</div>
|
|
</td>
|
|
<td>支持共享所有权语义的<a href="cpp-named_req-TimedMutex.html"><span style="font-style:italic">定时互斥体</span> <span style="font-family: Georgia, 'DejaVu Serif', serif; font-style:italic">(TimedMutex)</span></a><br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
<h3><span class="mw-headline" id=".E5.85.B6.E4.BB.96">其他</span></h3>
|
|
</td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-UnaryTypeTrait.html"><span class="t-lines"><span>UnaryTypeTrait</span><span><i>一元类型特征</i></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-named-req-div">
|
|
<div><a href="cpp-named_req-BinaryTypeTrait.html"><span class="t-lines"><span>BinaryTypeTrait</span><span><i>二元类型特征</i></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-named-req-div">
|
|
<div><a href="cpp-named_req-TransformationTrait.html"><span class="t-lines"><span>TransformationTrait</span><span><i>变换特征</i></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-named-req-div">
|
|
<div><a href="cpp-named_req-Clock.html"><span class="t-lines"><span>Clock</span><span><i>时钟</i></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-named-req-div">
|
|
<div><a href="cpp-named_req-TrivialClock.html"><span class="t-lines"><span>TrivialClock</span><span><i>平凡时钟</i></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>不抛异常的<a href="cpp-named_req-Clock.html"><span style="font-style:italic">时钟</span> <span style="font-family: Georgia, 'DejaVu Serif', serif; font-style:italic">(Clock)</span></a><br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-CharTraits.html"><span class="t-lines"><span>CharTraits</span><span><i>字符特征</i></span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>为字符类型定义一些类型和函数<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-BitmaskType.html"><span class="t-lines"><span>BitmaskType</span><span><i>位掩码类型</i></span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>位集合、整数或枚举<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-NumericType.html"><span class="t-lines"><span>NumericType</span><span><i>数值类型</i></span></span></a></div>
|
|
</div>
|
|
</td>
|
|
<td>初始化效率相当于赋值的类型<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-RegexTraits.html"><span class="t-lines"><span>RegexTraits</span><span><i>正则表达式特征</i></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>定义<a href="cpp-regex.html">正则表达式库</a>所使用的各个类型和函数<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-LiteralType.html"><span class="t-lines"><span>LiteralType</span><span><i>字面类型</i></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>拥有 constexpr 构造函数的类型<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-named-req-div">
|
|
<div><a href="cpp-named_req-Formatter.html"><span class="t-lines"><span>Formatter</span><span><i>格式化器</i></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>定义用于<a href="cpp-utility-format.html">格式化库</a>的函数<br />
|
|
<span class="t-mark">(具名要求)</span></td>
|
|
</tr>
|
|
</table>
|
|
<table class="metadata plainlinks ambox mbox-small-left ambox-notice" style="">
|
|
<tr>
|
|
<td class="mbox-empty-cell"></td>
|
|
<td class="mbox-text" style="">本节未完成<br />
|
|
原因:任何其他遗漏的具名要求?</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="visualClear"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|