Partilhar via


Função atomic_fetch_add

Adiciona um valor a um valor existente que é armazenado em um objeto de 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
    Um ponteiro para um objeto atomic que armazena um ponteiro do tipo T.

  • Value
    Um valor do tipo ptrdiff_t.

Valor de retorno

O valor do ponteiro contido no objeto atômico imediatamente antes da operação foi executado.

Comentários

A função atomic_fetch_add executa uma operação read-modify-write para adicionar automaticamente Value ao valor armazenado em Atom, usando a restrição memory_order_seq_cst memory_order.

Quando o tipo atômico é atomic_address, Value tem o tipo ptrdiff_t e a operação trata o ponteiro armazenado como char *.

Esta operação também está sobrecarregada para tipos integrais:

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

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

Requisitos

Cabeçalho: atômico

std de Namespace:

Consulte também

Referência

<atomic>

Estrutura atomic

Função atomic_fetch_add_explicit