mask_array
클래스
하위 집합 배열 간에 작업을 제공하여 부울 식으로 지정된 부모 valarray
개체의 하위 집합인 개체를 지원하는 내부 보조 클래스 템플릿입니다.
설명
클래스는 클래스valarray<Type>
의 개체에 대한 참조를 저장하는 개체 va
와 개체에서 선택할 요소의 시퀀스를 설명하는 클래스valarray<bool>
의 개체 ba
를 valarray<Type>
설명합니다.
폼va[ba]
의 mask_array<Type>
식을 작성해야만 개체를 생성합니다. 그런 다음 클래스 mask_array
의 멤버 함수는 선택한 요소의 시퀀스만 영향을 받는다는 점을 제외하고 정의된 valarray<Type>
해당 함수 서명처럼 동작합니다.
시퀀스는 대부분의 ba.size
요소로 구성됩니다. 요소는 J
있는 경우에만 ba[J]
포함됩니다 true
. 시퀀스에는 요소가 있는 만큼 true
많은 요소가 있습니다 ba
. 에서 가장 낮은 true 요소 ba
va[I]
의 인덱스인 경우 I
선택한 시퀀스의 요소 0입니다.
예시
// 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