std::atomic_flag::clear

< cpp‎ | atomic‎ | atomic flag
在标头 <atomic> 定义
void clear( std::memory_order order =
                std::memory_order_seq_cst ) volatile noexcept;
(1) (C++11 起)
void clear( std::memory_order order =
                std::memory_order_seq_cst ) noexcept;
(2) (C++11 起)

std::atomic_flag 的状态原子地更改为清除(false)。

如果 orderstd::memory_order_consumestd::memory_order_acquirestd::memory_order_acq_rel 之一,那么行为未定义。

参数

order - 内存同步定序

缺陷报告

下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。

缺陷报告 应用于 出版时的行为 正确行为
LWG 2138 C++11 order 可以是 std::memory_order_consume 此时行为未定义

参阅

原子地设置标志为 true 并获得其先前值
(公开成员函数)
原子地设置标志值为 false
(函数)
(C++11)
为给定的原子操作定义内存定序约束
(枚举)