Compartir a través de


atomic_fetch_add (Función)

Agrega un valor a un valor existente almacenado en un objeto atomic .

template <class T> T* atomic_fetch_add(
   volatile atomic<T*> *Atom,
   ptrdiff_t Value
) noexcept;

template <class T> T* atomic_fetch_add(
   atomic<T*> *Atom,
   ptrdiff_t Value
) noexcept;

Parámetros

  • Atom
    Un puntero a un objeto atomic que almacena un puntero para escribir T.

  • Value
    Valor de tipo ptrdiff_t.

Valor devuelto

El valor del puntero contenido en el objeto atómico inmediatamente antes de realizar la operación.

Comentarios

La función atomic_fetch_add realiza una operación read-modify-write para sumar Value atómicamente al valor almacenado en Atom, usando la restricción memory_order_seq_cst memory_order.

Cuando el tipo atómico es atomic_address, Value tiene el tipo ptrdiff_t y la operación trata el puntero almacenado como char *.

Esta operación también se sobrecarga para tipos enteros:

integral atomic_fetch_add(
    volatile atomic-integral * Atom, integral Value
) noexcept;

integral atomic_fetch_add(
    atomic-integral * Atom, integral Value
) noexcept;

Requisitos

Encabezado: atomic

Espacio de nombres: std

Vea también

Referencia

<atomic>

atomic (Estructura)

atomic_fetch_add_explicit (Función)