📜  valarray apply()在C++中

📅  最后修改于: 2021-05-30 02:32:07             🧑  作者: Mango

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

句法:

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 
using namespace std;
  
int main()
{
  
    // Initializing valarray
    valarray varr = { 15, 10, 30, 33, 40 };
  
    // Declaring new valarray
    valarray 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 
using namespace std;
  
int main()
{
  
    // Initializing valarray
    valarray varr = { 15, 10, 30, 33, 40 };
  
    // Declaring new valarray
    valarray 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
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”