Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Třída
Interní pomocné šablony třídy, které podporují objekty, které jsou podmnožinami nadřazených valarray objektů, určené logickým výrazem, poskytováním operací mezi poli podmnožina.
Poznámky
Třída popisuje objekt, který ukládá odkaz na objekt va třídy valarray<Type>, spolu s objektem ba třídy valarray<bool>, který popisuje posloupnost prvků vybrat z objektu valarray<Type> .
Objekt vytvoříte mask_array<Type> pouze zápisem výrazu formuláře va[ba]. Členské funkce třídy mask_array se pak chovají jako odpovídající podpisy funkce definované pro valarray<Type>, s tím rozdílem, že je ovlivněna pouze posloupnost vybraných prvků.
Sekvence se skládá z většiny ba.size prvků. J Prvek je zahrnut pouze pokud ba[J] je true. V sekvenci je tolik prvků, kolik jich obsahuje true ba. Pokud I je index nejnižšího prvku true v ba, pak va[I] je prvek nula ve vybrané sekvenci.
Příklad
// 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;
}
Výstup
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).
Požadavky
Header:<valarray>
Obor názvů: std