valarray::apply

将指定的每个元素 valarray。

valarray<Type> apply( 
   Type _Func(Type) 
) const; 
valarray<Type> apply( 
   Type _Func(const Type&) 
) const;

参数

  • _Func(Type)
    要应用的函数对象。valarray 操作数的每个元素。

  • _Func(const Type)&
    常数的函数对象可以将应用 valarray 操作数的每个元素。

返回值

valarray 的元素具有 _Func 应用到元素 valarray 操作数的元素。

备注

成员函数返回类 valarray<类型>对象长度,范围,每个元素的 I 是 func(*this) [I])。

示例

// valarray_apply.cpp
// compile with: /EHsc
#include <valarray>
#include <iostream>

using namespace std;

int __cdecl MyApplyFunc( int n )
{
   return n*2;
}

int main( int argc, char* argv[] )
{
   valarray<int> vaR(10), vaApplied(10);
   int i;

   for ( i = 0; i < 10; i += 3 )
      vaR[i] = i;

   for ( i = 1; i < 10; i += 3 )
      vaR[i] = 0;

   for ( i = 2; i < 10; i += 3 )
      vaR[i] = -i;

   cout << "The initial Right valarray is: (";
   for   ( i=0; i < 10; ++i )
      cout << " " << vaR[i];
   cout << " )" << endl;

   vaApplied = vaR.apply( MyApplyFunc );

   cout << "The element-by-element result of "
       << "applying MyApplyFunc to vaR is the\nvalarray: ( ";
   for ( i = 0; i < 10; ++i )
      cout << " " << vaApplied[i];
   cout << " )" << endl;
}
  

要求

Header: <valarray>

命名空间: std

请参见

参考

valarray 类