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;
}
}
21
#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