valarray apply() en C++

La función apply() se define en el archivo de encabezado valarray . Esta función devuelve un valarray con cada uno de sus elementos inicializados al resultado de aplicar func a su elemento correspondiente en *this.

Sintaxis:

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

Parámetro: este método acepta un parámetro obligatorio func que representa el puntero a la función tomando un argumento de tipo T.

Valor devuelto: este método devuelve un objeto valarray con los resultados de aplicar func a todos los elementos de *this.

Los siguientes programas ilustran la función anterior:

Ejemplo 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;
}
Producción:

The new valarray with manipulated values is : 20 15 35 38 45

Ejemplo 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;
}
Producción:

The new valarray with manipulated values is : 10 5 25 28 35

Publicación traducida automáticamente

Artículo escrito por bansal_rtk_ y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *