apply
描述 (Description)
它返回一个valarray,其每个元素初始化为将func应用于* this中相应元素的结果。
声明 (Declaration)
以下是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;
参数 (Parameters)
func - 它是一个指向类型为T的参数的函数的指针。
返回值 (Return Value)
它返回一个valarray,其每个元素初始化为将func应用于* this中相应元素的结果。
异常 (Exceptions)
Basic guarantee - 如果对元素执行的任何操作引发异常。
数据竞争 (Data races)
访问有效复制的所有元素。
例子 (Example)
在下面的例子中解释了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