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;
}
  

要求

标头: <valarray>

命名空间: std

请参见

参考

gslice Class