mask_array (Clase)

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

Clase de plantilla auxiliar e interna que admite objetos que son subconjuntos de valarrays principales, especificados con una expresión booleana, proporcionando operaciones entre matrices de subconjuntos.

La clase describe un objeto que almacena una referencia a un objeto va de clase valarray<>>, junto con un objeto ba de clase valarray<>>, que describe la secuencia de los elementos que seleccione en el **valarray<> </> > ** objeto.

Construya un **mask_array<> </> > ** objeto escribiendo una expresión del formulario va [ba]. Las funciones miembro de clase mask_array, a continuación, se comporten como las firmas de función correspondiente definen para valarray<>>, excepto en que sólo la secuencia de los elementos seleccionados se ve afectada.

La secuencia consta como máximo de elementos ba.size . Un elemento J sólo se incluye si ba[ J] es true. Por lo tanto, hay tantos elementos en la secuencia de elementos true en ba. Si I es el índice del elemento true más bajo en ba, va[ I] es el elemento cero de la secuencia seleccionada.

// mask_array.cpp  
// compile with: /EHsc  
#include <valarray>  
#include <iostream>  
  
int main( )  
{  
   using namespace std;  
   int i;  
  
   valarray<int> va ( 10 );  
   for ( i = 0 ; i < 10 ; i += 2 )  
      va [ i ] =  i;  
   for ( i = 1 ; i < 10 ; i += 2 )  
      va [ i ] =  -1;  
  
   cout << "The initial operand valarray is:  ( ";  
      for ( i = 0 ; i < 10 ; i++ )  
         cout << va [ i ] << " ";  
   cout << ")." << endl;  
  
   // Use masked subsets to assign a value of 10  
   // to all elements grrater than 3 in value  
   va [va > 3 ] = 10;  
   cout << "The modified operand valarray is:  ( ";  
      for ( i = 0 ; i < 10 ; i++ )  
         cout << va [ i ] << " ";  
   cout << ")." << endl;  
}  

Salida

The initial operand valarray is:  (0 -1 2 -1 4 -1 6 -1 8 -1).  
The modified operand valarray is:  (0 -1 2 -1 10 -1 10 -1 10 -1).  

Encabezado:<>>

Espacio de nombres: std

Seguridad para subprocesos en la biblioteca estándar de C++

Mostrar: