Spec-Zone.ru › C++

std::swap(std::valarray)

Определено в заголовочном файле <valarray>
template< class T >
void swap( std::valarray<T>& lhs, std::valarray<T>& rhs ) noexcept;
(начиная с C++11)

Специализирует алгоритм std::swap для std::valarray. Меняет местами содержимое lhs и rhs. Вызывает 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("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}

См. также

swap
меняет местами содержимое с другим valarray
(открытая функция-член)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/numeric/valarray/swap2

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API