다음을 통해 공유


mask_array 클래스

하위 집합 배열 간에 작업을 제공하여 부울 식으로 지정된 부모 valarray 개체의 하위 집합인 개체를 지원하는 내부 보조 클래스 템플릿입니다.

설명

클래스는 클래스valarray<Type>의 개체에 대한 참조를 저장하는 개체 va 와 개체에서 선택할 요소의 시퀀스를 설명하는 클래스valarray<bool>의 개체 bavalarray<Type> 설명합니다.

va[ba]mask_array<Type> 식을 작성해야만 개체를 생성합니다. 그런 다음 클래스 mask_array 의 멤버 함수는 선택한 요소의 시퀀스만 영향을 받는다는 점을 제외하고 정의된 valarray<Type>해당 함수 서명처럼 동작합니다.

시퀀스는 대부분의 ba.size 요소로 구성됩니다. 요소는 J 있는 경우에만 ba[J] 포함됩니다 true. 시퀀스에는 요소가 있는 만큼 true 많은 요소가 있습니다 ba. 에서 가장 낮은 true 요소 bava[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

참고 항목

C++ 표준 라이브러리의 스레드 보안