定义能以语句std::atomic_flagv=ATOMIC_FLAG_INIT;用于初始化std::atomic_flag以清除(置 false )状态的表达式。能否用于其他初始化语境中是未指定的。 若标志拥有静态存储期,则此初始化为静态。 这是初始化std::atomic_flag为确定值的唯一方式:任何其他初始化后它保有的值是未指定的。
ATOMIC_FLAG_INIT Defined in header <atomic> #define ATOMIC_FLAG_INIT /* implementation-defined */ 定义可用于初始化的表达式。std::atomic_flag若要使用语句清除%28 false%29状态,请执行以下操作std::atomic_flagv = ATOMIC_FLAG_INIT;如果可以与其他初始化上下文一起使用,则未指定。
<c |atomic Defined in header<stdatomic.h> #define ATOMIC_FLAG_INIT /* unspecified */ (since C11) Expands to an initializer that can be used to initializeatomic_flagtype to the clear state. The value of anatomic_flagthat is not initialized using this macro is indeterminate. ...
#include <stdatomic.h> int bool_lock_free = ATOMIC_BOOL_LOCK_FREE; @@ -31,3 +34,5 @@ int llong_lock_free = ATOMIC_LLONG_LOCK_FREE; int pointer_lock_free = ATOMIC_POINTER_LOCK_FREE; // CHECK: pointer_lock_free = {{ *[012] *;}} + +atomic_flag f = ATOMIC_FLAG_INIT; ...