最終更新日時: 2025年07月12日 02時16分44秒 (JST)
Koichi Murase が更新

履歴 編集

function
<valarray>

# std::valarray::apply

    ValOrProxy<T> apply(T func(T)) const;
    ValOrProxy<T> apply(T func(const T&)) const;

## 概要

各要素に任意の関数を適用する。

## 戻り値

`*this`の全ての要素に関数`func`を適用した`valarray`オブジェクトを新たに作って返す。

返される`valarray`オブジェクトは、`*this`と同じ要素数、同じ要素型を持つ。

## 備考

- 戻り値の型 `ValOrProxy` は、`valarray`、あるいは、その代理となる型である。
  `<valarray>` の概要も参照のこと。

## 例

    #include <iostream>
    #include <valarray>

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

      // 全要素を+1する
      std::valarray<int> result = va.apply([](int x) { return x + 1; });

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

### 出力

    2
    3
    4