93 lines
5.3 KiB
HTML
93 lines
5.3 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>ATOMIC_FLAG_INIT</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_atomic_ATOMIC_FLAG_INIT skin-cppreference2 action-view cpp-navbar">
|
|
<div id="cpp-content-base">
|
|
<div id="content"><a id="top"></a>
|
|
<h1 id="firstHeading" class="firstHeading">ATOMIC_FLAG_INIT</h1>
|
|
<div id="bodyContent">
|
|
<div id="contentSub"><span class="subpages">< <a href="cpp.html">cpp</a>‎ | <a href="cpp-atomic.html">atomic</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-atomic.html"><atomic></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="co2">#define ATOMIC_FLAG_INIT /* implementation-defined */</span></span></div>
|
|
</td>
|
|
<td class="t-dcl-nopad"></td>
|
|
<td><span class="t-mark-rev t-since-cxx11">(C++11 起)</span><br />
|
|
<span class="t-mark">(C++20 中弃用)</span></td>
|
|
</tr>
|
|
<tr class="t-dcl-sep">
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>定义能以语句 <span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="cpp-atomic-atomic_flag.html"><span class="kw2088">std::<span class="me2">atomic_flag</span></span></a> v <span class="sy1">=</span> ATOMIC_FLAG_INIT<span class="sy4">;</span></span></span> 用于初始化 <span class="t-lc"><a href="cpp-atomic-atomic_flag.html">std::atomic_flag</a></span> 以清除(置 false )状态的初始化器。它能否用于其他初始化语境中是未指定的。</p>
|
|
<p>若标志拥有静态<a href="cpp-language-storage_duration.html#.E5.AD.98.E5.82.A8.E6.9C.9F">存储期</a>,则此<a href="cpp-language-initialization.html#.E9.9D.99.E6.80.81.E5.88.9D.E5.A7.8B.E5.8C.96">初始化为静态</a>。</p>
|
|
<table class="t-rev-begin">
|
|
<tr class="t-rev t-until-cxx20">
|
|
<td>
|
|
<p>这是初始化 <span class="t-lc"><a href="cpp-atomic-atomic_flag.html">std::atomic_flag</a></span> 为确定值的唯一方式:任何其他初始化后它保有的值是未指定的。</p>
|
|
</td>
|
|
<td><span class="t-mark-rev t-until-cxx20">(C++20 前)</span></td>
|
|
</tr>
|
|
<tr class="t-rev t-since-cxx20">
|
|
<td>
|
|
<p>此宏不再有必要且被弃用,因为 <span class="t-lc"><a href="cpp-atomic-atomic_flag.html">std::atomic_flag</a></span> 的默认构造函数初始化它为清除状态。</p>
|
|
</td>
|
|
<td><span class="t-mark-rev t-since-cxx20">(C++20 起)</span></td>
|
|
</tr>
|
|
</table>
|
|
<h3><span class="mw-headline" id=".E7.A4.BA.E4.BE.8B">示例</span></h3>
|
|
<div class="t-example">
|
|
<div class="t-example-live-link"></div>
|
|
<div dir="ltr" class="mw-geshi" style="text-align: left;">
|
|
<div class="cpp source-cpp">
|
|
<pre class="de1"><span class="co2">#include <atomic></span>
|
|
|
|
<a href="cpp-atomic-atomic_flag.html"><span class="kw2088">std::<span class="me2">atomic_flag</span></span></a> static_flag <span class="sy1">=</span> ATOMIC_FLAG_INIT<span class="sy4">;</span> <span class="co1">// 静态初始化,</span>
|
|
<span class="co1">// 保证在静态对象的动态初始化期间可用。</span>
|
|
|
|
<span class="kw4">int</span> main<span class="br0">(</span><span class="br0">)</span>
|
|
<span class="br0">{</span>
|
|
<a href="cpp-atomic-atomic_flag.html"><span class="kw2088">std::<span class="me2">atomic_flag</span></span></a> automatic_flag <span class="sy1">=</span> ATOMIC_FLAG_INIT<span class="sy4">;</span> <span class="co1">// 保证能工作</span>
|
|
<span class="co1">// std::atomic_flag another_flag(ATOMIC_FLAG_INIT); // 未指定</span>
|
|
<span class="br0">}</span></pre></div>
|
|
</div>
|
|
</div>
|
|
<h3><span class="mw-headline" id=".E5.8F.82.E9.98.85">参阅</span></h3>
|
|
<table class="t-dsc-begin">
|
|
<tr class="t-dsc">
|
|
<td>
|
|
<div class="t-dsc-member-div">
|
|
<div><a href="cpp-atomic-atomic_flag.html"><span class="t-lines"><span>atomic_flag</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>
|
|
</div>
|
|
<div class="visualClear"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|