最終更新日時:
が更新

履歴 編集

function
<valarray>

std::slice_array::operator/=

void operator/=(const valarray<T>& xs) const;

概要

除算の複合代入を行う。

効果

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

戻り値

なし

備考

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
1
3
2
5
3