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

履歴 編集

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