valarray_swap2

valarray_swap2 (valarray 교환)

std::swap(valarray 특수화)는 두 std::valarray의 내용을 교환하는 함수예요. C++11부터 사용할 수 있어요.

출처: cppreference

본문

<valarray> 헤더에 정의되어 있고, 시그니처는 다음과 같아요.

template< class T >
void swap( std::valarray<T>& lhs, std::valarray<T>& rhs ) noexcept;

(since C++11)

std::valarray에 대한 std::swap 알고리즘을 특수화해요. lhs와 rhs의 내용을 교환해요. lhs.swap(rhs)를 호출해요.

매개변수 (Parameters)

  • lhs, rhs — 내용을 교환할 valarray들

반환값 (Return value)

(없음)

복잡도 (Complexity)

상수.

예제 (Example)

이 코드를 실행해 봐요.

#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("Before swap:\n" "x: ", x);
    print("y: ", y);

    std::swap(x, y);

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

출력:

Before swap:
x: {3, 1, 4, 1, 5}
y: {2, 7, 1, 8}
After swap:
x: {2, 7, 1, 8}
y: {3, 1, 4, 1, 5}

더 알아보기 (Learn more)

cppreference