다음을 통해 공유


atomic_fetch_sub_explicit 함수

atomic 개체에 저장된 기존 값에에서 한 값을 할당합니다.

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

template <class T> T* atomic_fetch_sub_explicit(
   atomic<T*> *Atom,
   ptrdiff_t Value,
   memory_order Order
) noexcept;

매개 변수

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

  • Value
    ptrdiff_t 형식의 값입니다.

반환 값

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

설명

atomic_fetch_sub_explicit 함수는 read-modify-write 작업을 원자적으로 수행하여 Order에서 지정한 memory_order 제약 조건 내에서 Value를 Atom에 저장된 값에서 뺍니다.

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

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

integral atomic_fetch_sub_explicit(
    volatile atomic-integral * Atom, integral Value, memory_order Order
) noexcept;

integral atomic_fetch_sub_explicit(
    atomic-integral * Atom, integral Value, memory_order Order
) noexcept;

요구 사항

헤더: atomic

네임스페이스: std

참고 항목

참조

<atomic>

atomic 구조체

atomic_fetch_sub 함수