最終更新日時: 2026年03月21日 23時12分53秒 (JST)
Raclamusi が更新

履歴 編集

function
<valarray>

# std::valarray::swap(C++11)

    void swap(valarray& v) noexcept;

## 概要

他の`valarray`オブジェクトと値を入れ替える。

## 効果

`*this`の内容を`v`と交換する。

## 計算量

定数時間

## 例

    #include <iostream>
    #include <valarray>

    template <class T>
    void print(const char* name, const std::valarray<T>& va)
    {
      std::cout << name << " : {";
      bool first = true;

      for (const T& x : va) {
        if (first) {
          first = false;
        }
        else {
          std::cout << ',';
        }
        std::cout << x;
      }
      std::cout << "}" << std::endl;
    }

    int main()
    {
      std::valarray<int> a = {1, 2, 3};
      std::valarray<int> b = {4, 5, 6};

      a.swap(b);

      ::print("a", a);
      ::print("b", b);
    }

### 出力

    a : {4,5,6}
    b : {1,2,3}

## バージョン

### 言語

- C++11

### 処理系

- Clang: 3.0 ✅
- GCC: 4.7.3 ✅
- ICC: ??
- Visual C++: ??