C++ valarray 库 - apply 函数



描述

它返回一个 valarray,其每个元素都初始化为将 func 应用于 *this 中相应元素的结果。

声明

以下是 std::valarray::apply 函数的声明。

valarray apply (T func(T)) const;
valarray apply (T func(const T&)) const;

C++11

valarray apply (T func(T)) const;
valarray apply (T func(const T&)) const;

参数

func − 它是一个指向函数的指针,该函数接受类型为 T 的参数。

返回值

它返回一个 valarray,其每个元素都初始化为将 func 应用于 *this 中相应元素的结果。

异常

基本保证 - 如果对元素执行的任何操作抛出异常。

数据竞争

访问所有有效复制的元素。

示例

下面的示例解释了 std::valarray::apply 函数。

#include <iostream>
#include <cstddef>
#include <valarray>

int increment (int x) {return ++x;}

int main () {
   int init[]={0,10,20,30,40};
   std::valarray<int> foo (init,5);

   std::valarray<int> bar = foo.apply(increment);

   std::cout << "foo contains:";
   for (std::size_t n=0; n<bar.size(); n++)
      std::cout << ' ' << bar[n];
   std::cout << '\n';

   return 0;
}

让我们编译并运行上面的程序,这将产生以下结果:

foo contains: 1 11 21 31 41 
valarray.htm
广告
© . All rights reserved.