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