最終更新日時(UTC):
が更新

履歴 編集

function
<valarray>

std::mask_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};
  std::valarray<bool> mask = {false, true, false, true, false, true};

  std::mask_array<int> result = va[mask];

  // 抽出した要素に2を乗算する
  result *= std::valarray<int>(2, 3);

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

出力

1
4
3
8
5
12