最終更新日時(UTC): 2025年07月11日 17時16分44秒
Koichi Murase が更新

履歴 編集

function
<valarray>

# std::slice_array::operator-=

    void operator-=(const ValOrProxy<T>& xs) const;

## 概要

減算の複合演算を行う。

## 効果

元となる `valarray` オブジェクトから参照によって抽出した各要素から、`xs` の各要素を減算する。

## 戻り値

なし

## 備考

- 引数の型 `ValOrProxy` は、`valarray`、あるいは、その代理となる型である。
  `<valarray>` の概要も参照のこと。
- `valarray` から抽出した要素数と `xs` の要素数が異なる場合、未定義動作を引き起こす。

## 例

    #include <iostream>
    #include <valarray>

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

      const std::size_t start = 1u;  // 開始位置
      const std::size_t length = 3u; // 要素数
      const std::size_t stride = 2u; // 何個置きに処理するか

      std::slice_array<int> result = va[std::slice(start, length, stride)];

      // 抽出した要素から2を減算する
      result -= std::valarray<int>(2, length);

      for (int x : va) {
        std::cout << x << std::endl;
      }
    }

### 出力

    1
    0
    3
    2
    5
    4