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 的子集。 可以使用数组切片定义多个是 gsliceslice::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;
}
  

要求

Header: <valarray>

命名空间: std

请参见

参考

gslice 类