gslice_array Class

支援一般的配量之內部,其他的樣板類別會提供一些一般切割定義的子集陣列之間的作業。valarray。

template<class Type>
   class gslice_array : public gsplice {
public:
   typedef Type value_type;
   void operator=(
      const valarray<Type>& x
   ) const;

   void operator=(
      const Type& x
   ) const;

   void operator*=(
      const valarray<Type>& x
   ) const;

   void operator/=(
      const valarray<Type>& x
   ) const;

   void operator%=(
      const valarray<Type>& x
   ) const;

   void operator+=(
      const valarray<Type>& x
   ) const;

   void operator-=(
      const valarray<Type>& x
   ) const;

   void operator^=(
      const valarray<Type>& x
   ) const;

   void operator&=(
      const valarray<Type>& x
   ) const;

   void operator|=(
      const valarray<Type>& x
   ) const;

   void operator<<=(
      const valarray<Type>& x
   ) const;

   void operator>>=(
      const valarray<Type>& x
   ) const;

// The rest is private or implementation defined
}

備註

類別與物件描述項目序列 valarray<Type> 物件選取類別 gslicegs 一起說明儲存在物件中 valarray<Type>va 之參考的物件,否則為。

您可以撰寫表單 [] gs VA的運算式只 gslice_array<Type> 建構物件。gslice_array 類別的成員函式接著會與對應的函式簽章定義的 valarray<Type>,但是有一點例外,就是選取的項目序列只會受到影響。

樣板類別是間接使用某些 valarray 作業直接在程式中建立的,而且無法使用。切割註標運算子使用內部輔助樣板類別:

gslice_array<[型別]> valarray<[型別]>::operator[] (constgslice&)。

您可以撰寫表單 **va[gsl]**的運算式只建構物件, gslice_array<Type> 配量之 gsl valarray va。gslice_array 類別的成員函式接著會與對應的函式簽章定義的 valarray<Type>,但是有一點例外,就是選取的項目序列只會受到影響。順序是由控制項 gslice_array 切割建構函式、索引第一扇區的第一個項目,數目都扇區的項目和項目間之距離的三個參數定義每個片段。

在下列範例中:

const size_t lv[] = {2, 3};
const size_t dv[] = {7, 2};
const valarray<size_t> len(lv, 2), str(dv, 2);
// va[gslice(3, len, str)] selects elements with
//   indices 3, 5, 7, 10, 12, 14

索引必須是有效的。在這個程序可以是有效的。

範例

如需範例的 gslice::gslice 看到這個範例示範如何宣告和使用 slice_array。

需求

標題: <valarray>

命名空間: std

請參閱

參考

在標準 C++ 程式庫中的執行緒安全