gslice_array
類別
內部的輔助類別範本,透過在的一般配量所定義的子集陣列之間提供作業,以支援一般 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>
參考,以及 gs
類別的物件gslice
,該物件描述要從 valarray<Type>
物件中選取va
的專案序列。
您只能藉由撰寫表單 va[gs]
的運算式來建構 gslice_array<Type>
物件。 類別的成員 gslice_array
函式接著的行為就像為 valarray<Type>
定義的對應函式簽章,不同之處在於只會影響所選元素的序列。
類別範本是由特定 valarray
作業間接建立,且無法直接在程式中使用。 下標運算子會改用 slice
內部輔助類別範本:
gslice_array<Type> valarray<Type>::operator[]( const gslice& )
.
您只能藉由撰寫 表單的 表達式 ,為 valarray
va
gsl
slice
來建構 gslice_array<Type>
物件。va[gsl]
類別的成員 gslice_array
函式接著的行為就像為 valarray<Type>
定義的對應函式簽章,不同之處在於只會影響所選元素的序列。 由 gslice_array
控制的序列是由建構函式的 slice
三個參數所定義,第一 slice
個元素的索引、每個 slice
中的元素數目,以及每個 slice
元素之間的距離。
在以下範例中:
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