当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ valarray apply()用法及代码示例


apply()函数在valarray头文件中定义。此函数返回一个valarray,其每个元素均初始化为将func应用于* this中的相应元素的结果。

用法:

valarray apply (T func(T)) const;
valarray apply (T func(const T&)) const;

参数:此方法接受强制性参数func,该函数表示采用类型T的参数的函数的指针。


返回值:此方法返回一个valarray对象,并将func应用于* this的所有元素。

以下示例程序旨在说明上述函数:

示例1:

// C++ program to demonstrate 
// example of apply() function. 
  
#include <bits/stdc++.h> 
using namespace std; 
  
int main() 
{ 
  
    // Initializing valarray 
    valarray<int> varr = { 15, 10, 30, 33, 40 }; 
  
    // Declaring new valarray 
    valarray<int> varr1; 
  
    // Using apply() to increment all elements by 5 
    varr1 = varr.apply([](int x) { return x = x + 5; }); 
  
    // Displaying new elements value 
    cout << "The new valarray "
         << "with manipulated values is:"; 
  
    for (int& x:varr1) 
        cout << x << " "; 
  
    cout << endl; 
  
    return 0; 
}
输出:
The new valarray with manipulated values is:20 15 35 38 45

示例2:

// C++ program to demonstrate 
// example of apply() function. 
  
#include <bits/stdc++.h> 
using namespace std; 
  
int main() 
{ 
  
    // Initializing valarray 
    valarray<int> varr = { 15, 10, 30, 33, 40 }; 
  
    // Declaring new valarray 
    valarray<int> varr1; 
  
    // Using apply() to decrement all elements by 5 
    varr1 = varr.apply([](int x) { return x = x - 5; }); 
  
    // Displaying new elements value 
    cout << "The new valarray"
         << " with manipulated values is:"; 
  
    for (int& x:varr1) 
        cout << x << " "; 
  
    cout << endl; 
  
    return 0; 
}
输出:
The new valarray with manipulated values is:10 5 25 28 35


相关用法


注:本文由纯净天空筛选整理自bansal_rtk_大神的英文原创作品 valarray apply() in C++。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。