Biblioteca valarray de C ++: aplicación de función
Descripción
Devuelve un valarray con cada uno de sus elementos inicializados al resultado de aplicar func a su elemento correspondiente en * this.
Declaración
A continuación se muestra la declaración de la función std :: valarray :: apply.
valarray apply (T func(T)) const;
valarray apply (T func(const T&)) const;
C ++ 11
valarray apply (T func(T)) const;
valarray apply (T func(const T&)) const;
Parámetros
func - Es un puntero a una función que toma un argumento de tipo T.
Valor devuelto
Devuelve un valarray con cada uno de sus elementos inicializados al resultado de aplicar func a su elemento correspondiente en * this.
Excepciones
Basic guarantee - si alguna operación realizada en los elementos arroja una excepción.
Carreras de datos
Se accede a todos los elementos efectivamente copiados.
Ejemplo
En el siguiente ejemplo se explica la función std :: valarray :: apply.
#include <iostream>
#include <cstddef>
#include <valarray>
int increment (int x) {return ++x;}
int main () {
int init[]={0,10,20,30,40};
std::valarray<int> foo (init,5);
std::valarray<int> bar = foo.apply(increment);
std::cout << "foo contains:";
for (std::size_t n=0; n<bar.size(); n++)
std::cout << ' ' << bar[n];
std::cout << '\n';
return 0;
}
Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:
foo contains: 1 11 21 31 41