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