C++ Valarray 库 - Function 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 中的对应元素的结果。
异常
Basic guarantee − 如果对元素执行的任何操作引发异常。
数据竞争
所有有效复制的元素都被访问。
示例
在下面的示例中解释了 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