C++ valarray 库 - swap 函数



描述

它交换 *this 和 x 的内容。

声明

以下是 std::valarray::swap 函数的声明。

template <class T>
   void swap (valarray<T>& x, valarray<T>& y) noexcept;

C++11

template <class T>
   void swap (valarray<T>& x, valarray<T>& y) noexcept;

参数

x,y − 这些是相同类型的另一个 valarray 对象。

返回值

异常

基本保证 − 如果对元素执行的任何操作引发异常。

数据竞争

访问所有有效复制的元素。

示例

以下示例说明了 std::valarray::swap 函数。

#include <iostream>
#include <valarray>

int main () {
   std::valarray<int> foo {0,10,20,30};
   std::valarray<int> bar {100,200,300};

   foo.swap(bar);

   std::cout << "foo contains:";
   for (auto& x: foo) std::cout << ' ' << x;
   std::cout << '\n';

   std::cout << "bar contains:";
   for (auto& x: bar) std::cout << ' ' << x;
   std::cout << '\n';

   return 0;
}

让我们编译并运行以上程序,这将产生以下结果:

foo contains: 100 200 300
bar contains: 0 10 20 30
valarray.htm
广告