indirect_array
類別
內部輔助類別範本,可藉由指定父 valarray
系的索引子集,在所定義的子集數位之間提供作業,以支援物件valarray
子集的物件。
語法
備註
類別描述一個物件,該物件會儲存 類別對象的valarray<Type>
參考,以及 xa
類別的物件valarray<size_t>
,該物件描述要從 valarray<Type>
物件中選取va
的專案序列。
您只能藉由撰寫表單 va[xa]
的運算式來建構 indirect_array<Type>
物件。 類別的成員 indirect_array
函式接著的行為就像為 valarray<Type>
定義的對應函式簽章,不同之處在於只會影響所選元素的序列。
序列包含 xa.size
專案,其中 專案I
會成為 內的va
索引xa[I]
。
範例:
// indirect_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;
// Select 2nd, 4th & 6th elements
// and assign a value of 10 to them
valarray<size_t> indx ( 3 );
indx [0] = 2;
indx [1] = 4;
indx [2] = 6;
va[indx] = 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 10 -1 10 -1 10 -1 8 -1).
需求
標頭:<valarray>
命名空間:std