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,這足以滿足大部分數據類型。 如果移動的物件包含本身成員的指標,則必須覆寫此靜態函式。