다음을 통해 공유


swap 함수

concurrent_vector 개체의 요소를 교환합니다.

template<
   typename _Ty,
   class _Ax
>
inline void swap(
   concurrent_vector<_Ty,
   _Ax> &_A,
   concurrent_vector<_Ty,
   _Ax> &_B
);

매개 변수

  • _Ty
    동시 벡터에 저장된 요소의 데이터 형식입니다.

  • _Ax
    동시 벡터의 할당자 형식입니다.

  • _A
    동시 벡터가 동시 벡터 _B와 교환할 요소입니다.

  • _B
    전환할 요소를 제공하는 동시 벡터 또는 요소를 동시 벡터 _A의 요소와 교환할 벡터입니다

설명

템플릿 함수는 멤버 함수 _A.concurrent_vector::swap(_B)을 실행하기 위해 컨테이너 클래스 concurrent_vector에 특수화된 알고리즘입니다.이는 컴파일러에서 함수 템플릿의 부분 정렬 인스턴스입니다.템플릿 함수가 함수 호출이 있는 템플릿 일치가 고유하지 않게 초과 로드되면 컴파일러는 템플릿 함수의 가장 특수화된 버전을 선택합니다.알고리즘 클래스에서 템플릿 함수**template <class T> void swap(T&, T&)**의 일반 버전은 할당으로 작동하며 작업이 느립니다.각 컨테이너에 있는 특수화된 버전은 컨테이너 클래스의 내부 표현을 사용하여 작업할 수 있는 것만큼 훨씬 빠릅니다.

이 메서드는 동시성이 보장되지 않습니다.이 메서드를 호출할 때 동시 벡터 중 하나에서 다른 스레드가 작업을 수행하고 있지 않도록 해야 합니다.

요구 사항

헤더: concurrent_vector.h

네임 스페이스: 동시성

참고 항목

참조

동시성 네임스페이스

concurrent_vector 클래스

개념

병렬 컨테이너 및 개체