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

命名空间: 并发

请参见

参考

concurrency 命名空间

concurrent_vector 类

概念

并行容器和对象