Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Класс
Внутренний вспомогательный шаблон класса, поддерживающий объекты, которые являются подмножеством родительских valarray объектов, заданных логическим выражением, предоставляя операции между массивами подмножества.
Замечания
Класс описывает объект, в котором хранится ссылка на объект va класса valarray<Type>, а также объект ba класса valarray<bool>, описывающий последовательность элементов для выбора из valarray<Type> объекта.
Объект создается mask_array<Type> только путем написания выражения формы va[ba]. Затем функции-члены класса mask_array ведут себя как соответствующие подписи функций, определенные для valarray<Type>, за исключением того, что затрагивается только последовательность выбранных элементов.
Последовательность состоит из большинства ba.size элементов. J Элемент включается только в том trueслучаеba[J]. В последовательности имеется столько элементов, сколько элементовtrue.ba Если I индекс наименьшего истинного элемента в ba, то va[I] он равен нулю в выбранной последовательности.
Пример
// 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;
}
Выходные данные
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).
Требования
Заголовок:<valarray>
Пространство имен: std