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