std::swap(std::valarray)

来自cppreference.com
 
 
 
 
<tbody> </tbody>
在标头 <valarray> 定义
template< class T > void swap( std::valarray<T>& lhs, std::valarray<T>& rhs ) noexcept;
(C++11 起)

std::valarray 特化 std::swap 算法。交换 lhsrhs 的内容。调用 lhs.swap(rhs)

参数

lhs, rhs - 要交换内容的 valarray

返回值

(无)

复杂度

常数。

示例

#include <iostream>
#include <valarray>

void print(auto rem, const std::valarray<int>& v)
{
    std::cout << rem << '{';
    for (char sep[]{0, ' ', 0}; auto elem : v)
        std::cout << sep << elem, *sep = ',';
    std::cout << "}\n";
}

int main()
{
    std::valarray x{3, 1, 4, 1, 5};
    std::valarray y{2, 7, 1, 8};

    print("swap 前:\n" "x: ", x);
    print("y: ", y);

    std::swap(x, y);

    print("swap 后:\n" "x: ", x);
    print("y: ", y);
}

输出:

swap 前:
x: {3, 1, 4, 1, 5}
y: {2, 7, 1, 8}
swap 后:
x: {2, 7, 1, 8}
y: {3, 1, 4, 1, 5}

参阅

与另一 valarray 交换
(公开成员函数) [编辑]