Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      atomic_load, atomic_load_explicit

      From cppreference.com
      <c‎ |atomic
       
       
      Concurrency support library
       
      Defined in header<stdatomic.h>
      C atomic_load(constvolatile A* obj);
      (1)(since C11)
      C atomic_load_explicit(constvolatile A* obj,memory_order order);
      (2)(since C11)

      Atomically loads and returns the current value of the atomic variable pointed to byobj. The operation is atomic read operation.

      The first version orders memory accesses according tomemory_order_seq_cst, the second version orders memory accesses according toorder.order must be one ofmemory_order_relaxed,memory_order_consume,memory_order_acquire ormemory_order_seq_cst. Otherwise the behavior is undefined.

      This is ageneric function defined for allatomic object typesA. The argument is pointer to a volatile atomic type to accept addresses of both non-volatile andvolatile (e.g. memory-mapped I/O) atomic objects, and volatile semantic is preserved when applying this operation to volatile atomic objects.C is the non-atomic type corresponding toA.

      It is unspecified whether the name of a generic function is a macro or an identifier declared with external linkage. If a macro definition is suppressed in order to access an actual function (e.g. parenthesized like(atomic_load)(...)), or a program defines an external identifier with the name of a generic function, the behavior is undefined.

      Contents

      [edit]Parameters

      obj - pointer to the atomic object to access
      order - the memory synchronization ordering for this operation

      [edit]Return value

      The current value of the atomic variable pointed to byobj.

      [edit]References

      • C17 standard (ISO/IEC 9899:2018):
      • 7.17.7.2 The atomic_load generic functions (p: 206)
      • C11 standard (ISO/IEC 9899:2011):
      • 7.17.7.2 The atomic_load generic functions (p: 282)

      [edit]See also

      stores a value in an atomic object
      (function)[edit]
      C++ documentation foratomic_load,atomic_load_explicit
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=c/atomic/atomic_load&oldid=138689"

      [8]ページ先頭

      ©2009-2025 Movatter.jp