共用方式為


CStringElementTraits 類別

這個類別提供集合類別用來儲存 CString 物件的靜態函式。

語法

template <typename T>
class CStringElementTraits

參數

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

成員

公用 Typedefs

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

公用方法

名稱 描述
CStringElementTraits::CompareElements (靜態)呼叫此函式來比較兩個字串元素是否相等。
CStringElementTraits::CompareElementsOrdered (靜態)呼叫此函式來比較兩個字串專案。
CStringElementTraits::CopyElements (靜態)呼叫此函式以複製 CString 儲存在集合類別物件中的專案。
CStringElementTraits::Hash (靜態)呼叫此函式來計算指定字串專案的哈希值。
CStringElementTraits::RelocateElements (靜態)呼叫此函式以重新放置 CString 儲存在集合類別物件中的專案。

備註

這個類別提供靜態函式來複製、移動和比較字串,以及建立哈希值。 使用集合類別來儲存字串型數據時,這些函式很有用。 如果需要不區分大小寫的比較,請使用 CStringElementTraitsI 。 當字串對象要當做參考處理時,請使用 CStringRefElementTraits

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

需求

標頭: cstringt.h

CStringElementTraits::CompareElements

呼叫這個靜態函式,比較兩個字串元素是否相等。

static bool CompareElements(INARGTYPE str1, INARGTYPE str2);

參數

str1
第一個字串專案。

str2
第二個字串專案。

傳回值

如果專案相等,則傳回 true,否則傳回 false。

CStringElementTraits::CompareElementsOrdered

呼叫此靜態函式來比較兩個字串專案。

static int CompareElementsOrdered(INARGTYPE str1, INARGTYPE str2);

參數

str1
第一個字串專案。

str2
第二個字串專案。

傳回值

如果字串相同,則為零,<如果 str1 小於 str2,則為 0;如果 str1 大於 str2,>則為 0。 CStringT ::Compare 方法可用來執行比較。

CStringElementTraits::CopyElements

呼叫這個靜態函式,以複製 CString 儲存在集合類別物件中的專案。

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

參數

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

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

nElements
要複製的項目數目。

備註

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

CStringElementTraits::Hash

呼叫這個靜態函式來計算指定字串專案的哈希值。

static ULONG Hash(INARGTYPE str);

參數

str
字串專案。

傳回值

傳回哈希值,使用字串的內容計算。

CStringElementTraits::INARGTYPE

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

typedef T::PCXSTR INARGTYPE;

CStringElementTraits::OUTARGTYPE

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

typedef T& OUTARGTYPE;

CStringElementTraits::RelocateElements

呼叫這個靜態函式,以重新放置 CString 儲存在集合類別物件中的專案。

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

參數

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

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

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

備註

此靜態函式會呼叫 memmove,這足以滿足大部分數據類型。 如果移動的物件包含本身成員的指標,則必須覆寫此靜態函式。

另請參閱

CElementTraitsBase 類別
CStringElementTraitsI 類別
類別概觀