다음을 통해 공유


atomic_fetch_add 함수

값을 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;

매개 변수

  • Atom
    포인터를 T 형식에 저장하는 atomic 개체에 대한 포인터입니다.

  • Value
    ptrdiff_t 형식의 값입니다.

반환 값

작업이 수행되기 바로 전에 원자 개체에 포함된 포인터의 값입니다.

설명

atomic_fetch_add 함수는 read-modify-write 작업을 원자적으로 수행하여 memory_order_seq_cst memory_order 제약 조건을 사용하여 Value를 Atom에 저장된 값에 추가합니다.

원자 형식이 atomic_address이면 Value에 ptrdiff_t 형식이 포함되고 작업이 저장된 포인터를 char *로 취급합니다.

이 작업은 정수 형식에 대해서도 오버로드됩니다.

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

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

요구 사항

헤더: atomic

네임스페이스: std

참고 항목

참조

<atomic>

atomic 구조체

atomic_fetch_add_explicit 함수