atomic_load, atomic_load_explicit — atomically obtain the value of an object
#include <stdatomic.h>
C atomic_load(const volatile A *object);
C atomic_load_explicit(const volatile A *object, memory_order order);
[CX] The functionality described on this reference page is aligned with the ISO C standard. Any conflict between the requirements described here and the ISO C standard is unintentional. This volume of POSIX.1-2024 defers to the ISO C standard.Implementations that define the macro __STDC_NO_ATOMICS__ need not provide the <stdatomic.h> header nor support these generic functions.
The atomic_load_explicit() generic function shall atomically obtain the value pointed to by object. Memory shall be affected according to the value of order, which the application shall ensure is not memory_order_release nor memory_order_acq_rel.
The atomic_load() generic function shall be equivalent to atomic_load_explicit() called with order set to memory_order_seq_cst.
These generic functions shall return the value pointed to by object.
No errors are defined.
None.
None.
None.
None.
First released in Issue 8. Included for alignment with the ISO/IEC 9899:2018 standard.
return to top of page