1.CStringArray類
CStringArray類可以用來存儲CString類型的對象,而且它的容量是可以動態增加的。
CStringArray
CObject
└CStringArray
CStringArray類支持CString對象數組。
CStringArray的成員函數類似於CObArray類的成員函數。由於具有這些相似性,你可以參考關於CObArray的參考文件來獲取CStringArray成員函數的詳細說明。如果在說明中看到某一函數的返回值是一個指向CObject對象的指針,則可以用一個CString(而不是一個CString指針)來代替它。如果看到某一函數的參數是一個指向CObject的指針,則可以用LPCTSTR來代替它。
例如,可以將
CObject* CObArray::GetAt( int <nIndex> ) const;
轉換為
CString CStringArray::GetAt( int <nIndex> ) const;
和將
void SetAt( int <nIndex>, CObject* <newElement> )
轉換為
void SetAt( int <nIndex>, LPCTSTR <newElement> );
CStringArray與IMPLEMENT_SERIAL宏聯合起來支持其元素的連續和轉儲。如果一個CString對象數組被用一個重載的插入操作符或Serialize成員函數保存到一個存檔中,則它的每一個元素都按順序連續。
注意:
在使用一個數組之前,使用SetSize來建立它的大小並給它分配內存。如果你不使用SetSize,則向數組中添加元素將導致數組被頻繁地拷貝和分配內存。頻繁分配內存和拷貝會導致效率低和內存零碎。
如果你需要數組中個別字符串元素的轉儲,則應該將轉儲環境的深度設置為1或更大。當一個CString數組被刪除時,或當其中的個別元素被刪除時,字符串內存被根據需要釋放。
有關使用CStringArray的更多信息,參見“VisualC++程序員指南”中的文章“集合”。
#include <afxcoll.h>
CStringArray類成員
構造
CStringArray
構造一個空的CString對象數組
綁定
GetSize
獲取這個數組中的元素數目
SetSize
設置這個數組中包含的元素數目
GetUpperBound
返回最大的有效索引
操作符
FreeExtra
釋放當前數組邊界之外的未使用的所有內存
RemoveAll
從數組中刪除所有元素
元素訪問
GetAt
返回位於給定索引處的值
SetAt
設置給定索引處的元素的值;不得將數組增大
ElementAt
返回對數組中的某一元素指針的臨時引用
GetData
對數組中的元素允許的訪問。可以是NULL
擴大數組
SetAtGrow
設置給定索引處的值,如果必要的話可以增長數組
Add
在數組的末尾添加一個元素;可根據需要增長數組
Append
向數組中添加另一個數組;如果必要的話可增長數組
Copy
將另一個數組拷貝到此數組中;如果必要的話可增長數組
插入/刪除
InsertAt
在指定索引處插入一個元素(或者是另一個數組中的所有元素)
RemoveAt
刪除指定索引處的一個元素
操作符
operator []
設置或獲取在指定索引處的元素