分享方式:


CElementTraitsBase 類別

這個類別提供集合類別的預設複製和移動方法。

語法

template<typename T>
class CElementTraitsBase

參數

T
要儲存在集合中的數據型別。

成員

公用 Typedefs

名稱 描述
CElementTraitsBase::INARGTYPE 要用於將專案加入至集合類別對象的數據類型。
CElementTraitsBase::OUTARGTYPE 要用於從集合類別物件擷取專案的數據類型。

公用方法

名稱 描述
CElementTraitsBase::CopyElements 呼叫此方法以複製儲存在集合類別物件中的專案。
CElementTraitsBase::RelocateElements 呼叫這個方法,以重新放置儲存在集合類別物件中的專案。

備註

這個基類會定義在集合類別中複製和重新放置元素的方法。 由 CDefaultElementTraits、CStringRefElementTraitsCStringElementTraitsI 類別使用。

如需詳細資訊,請參閱 ATL 集合類別

需求

標頭: atlcoll.h

CElementTraitsBase::CopyElements

呼叫此方法以複製儲存在集合類別物件中的專案。

static void CopyElements(
    T* pDest,
    const T* pSrc,
    size_t nElements);

參數

pDest
將接收所複製數據之第一個專案的指標。

pSrc
要複製之第一個專案的指標。

nElements
要複製的項目數目。

備註

來源和目的地項目不應該重疊。

CElementTraitsBase::INARGTYPE

要用於將專案加入至集合的數據類型。

typedef const T& INARGTYPE;

CElementTraitsBase::OUTARGTYPE

要用於從集合中擷取專案的數據類型。

typedef T& OUTARGTYPE;

CElementTraitsBase::RelocateElements

呼叫這個方法,以重新放置儲存在集合類別物件中的專案。

static void RelocateElements(
    T* pDest,
    T* pSrc,
    size_t nElements);

參數

pDest
將接收重新放置數據之第一個專案的指標。

pSrc
要重新放置之第一個專案的指標。

nElements
要重新放置的項目數目。

備註

此方法會呼叫 memmove,這足以應付大部分的數據類型。 如果移動的物件包含其本身成員的指標,則必須覆寫這個方法。

另請參閱

類別概觀