#define ATOMIC_FLAG_INIT /* implementation-defined */
(since C++11)Defines the initializer which can be used to initialize std::atomic_flag to clear (false) state in the form std::atomic_flag v = ATOMIC_FLAG_INIT;. It is unspecified if it can be used with other initialization contexts.
If the flag has is a complete object with static storage duration, this initialization is static.
This is the only way to initialize std::atomic_flag to a definite value: the value held after any other initialization is unspecified.
(until C++20)This macro is no longer needed since default constructor of std::atomic_flag initializes it to clear state. It is kept for the compatibility with C.
(since C++20) [edit] Example#include <atomic> std::atomic_flag static_flag = ATOMIC_FLAG_INIT; // static initialization, // guaranteed to be available during dynamic initialization of static objects. int main() { std::atomic_flag automatic_flag = ATOMIC_FLAG_INIT; // guaranteed to work // std::atomic_flag another_flag(ATOMIC_FLAG_INIT); // unspecified }[edit] Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
DR Applied to Behavior as published Correct behavior LWG 2159 C++11 it was unclear whetherATOMIC_FLAG_INIT
ATOMIC_FLAG_INIT
was deprecated, but needed in C on some platforms it is undeprecated [edit] See also
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4