gslice::gslice
用來定義多維切割 valarray 的 valarray 的公用程式類別。
gslice( );
gslice(
size_t _StartIndex,
const valarray<size_t>& _LenArray,
const valarray<size_t>& _IncArray
);
參數
_StartIndex
第一個項目的索引。valarray 子集的。_LenArray
陣列中的陣列中每一個片段。_IncArray
指定步距陣列中每一個片段。
傳回值
預設建構函式將零起始的索引和長度和步距向量的長度為零的向量。 第二個建構函式會儲存起始索引的長度陣列的 _StartIndex 步距,陣列的 _LenArray 和 _IncArray 。
備註
gslice 定義包含多個切割 valarray 同一指定之項目的每個資料列開始的子集的 valarray。 使用陣列定義多個片段是 gslice 和 slice::slice之間的唯一差異。 第一扇區有 _StartIndex索引, _LenArray的第一個元素會指定數目的項目和 _IncArray的第一個項目重新命名的步距的第一個項目。 下一組垂直切割擁有第一扇區測量的第一個項目。 _LenArray 的第二個項目指定項目數目。 步距。 _IncArray的第二個項目測量。 第三個維度切割會接受二維陣列的項目做為開始項目並大約本機執行
範例
// gslice_ctor.cpp
// compile with: /EHsc
#include <valarray>
#include <iostream>
int main( )
{
using namespace std;
int i;
valarray<int> va ( 20 ), vaResult;
for ( i = 0 ; i < 20 ; i+=1 )
va [ i ] = i;
cout << "The operand valarray va is:" << endl << "(";
for ( i = 0 ; i < 20 ; i++ )
cout << " " << va [ i ];
cout << " )" << endl;
valarray<size_t> Len ( 2 ), Stride ( 2 );
Len [0] = 4;
Len [1] = 4;
Stride [0] = 7;
Stride [1] = 4;
gslice vaGSlice ( 0, Len, Stride );
vaResult = va [ vaGSlice ];
cout << "The valarray for vaGSlice is vaResult:" << endl
<< "va[vaGSlice] = (";
for ( i = 0 ; i < 8 ; i++ )
cout << " " << vaResult [ i ];
cout << ")" << endl;
}
需求
標題: <valarray>
命名空間: std