valarray::apply

将指定的函数应用于每个元素的valarray。

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

参数

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

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

返回值

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

备注

成员函数返回选件类 valarray<Type>对象长度,范围,每个元素 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;
}
  

要求

标头: <valarray>

命名空间: std

请参见

参考

valarray Class