集合
MFC 程式庫提供集合類別管理物件群組。 這些類別有兩種類型:
從 C++ 樣板建立的集合類別。
非從樣板建立的集合類別。
![]() |
---|
如果您的程式碼已經使用非樣板集合類別,可以繼續使用它們。如果您撰寫新的型別安全集合為您的資料型別分類,我們建議您使用較新的樣板類別。 |
集合形狀
集合類別 Draw 為它的形狀與由其項目的型別。 圖案參考組織並儲存物件集合的方式。 MFC 提供三個基本圖案集合:清單、陣列和對應 (也稱為字典)。 您可以選擇最適合您的特定程式設計問題的圖案集合。
提供三個集合圖案中的每一本主題稍後的簡短說明。 若要比較圖案的功能可協助您決定要提供程式最適合使用,請參閱 選擇集合類別的建議。
List
清單類別提供項目清單的指令,索引清單,實作為雙向連結串列。 清單中有「開頭」與「結尾」,以及加入或移除項目的開頭或結尾或插入或刪除項目在中間,非常快速地。
陣列
陣列類別提供動態大小的,已排序和整數索引的陣列。
對應 (也稱為字典)
導覽是相關聯金鑰的物件與值物件的集合。
樣板架構集合類別
最簡單的方法實作包含任何型別的物件的型別安全集合是使用其中一個 MFC 樣板類別。 這兩個類別的範例,請參閱 MFC 收集範例。
下表列出MFC範文為基底的並行集合類別。
集合樣板類別
集合內容 |
陣列 |
清單 |
對應 |
---|---|---|---|
任何型別之物件的集合。 |
CArray |
CList |
CMap |
指標的集合對任何型別的物件 |
CTypedPtrArray |
CTypedPtrList |
CTypedPtrMap |
根據樣板中的集合類別。
如果您的應用程式已經使用MFC非樣板類別,可以繼續使用它們。 不過,對於新集合,我們建議您使用樣板類別。 下表列出不是根據範本的 MFC 集合類別。
非樣板集合類別
陣列 |
清單 |
對應 |
---|---|---|
CObArray |
CObList |
CMapPtrToWord |
CByteArray |
CPtrList |
CMapPtrToPtr |
CDWordArray |
CStringList |
CMapStringToOb |
CPtrArray |
|
CMapStringToPtr |
CStringArray |
|
CMapStringToString |
CWordArray |
|
CMapWordToOb |
CUIntArray |
|
CMapWordToPtr |
MFC 集合在 選擇集合類別的建議 類別的資料表的特性說明 MFC 集合類別會根據這些特性 (除了圖案之外):
類別會使用 C++ 樣板與否
儲存在集合中的項目是否可序列化
儲存在集合中的項目是否可用於診斷傾印
這個值是否為安全型別。