CByteArray

CByteArray是MFC中BYTE一種集合類,用於申明CByteArray類的數據,並且用相關函式對其進行處理。該類是8位無符號整數 BYTE類型,範圍0—255,頭檔案是Afxcoll.h。

類CByteArray支持以位元組為單位動態建立數組

基本介紹

  • 中文名:CByteArray
  • 單位:以位元組為單位
  • 方式:建立數組
  • 公式:CObject* CObArray
數據成員,函式成員,構造函式,邊界,操作,元素存取,數組增長,插入/刪除,

數據成員

類CByteArray支持以位元組為單位動態建立數組
類CByteArray的成員函式與類CObArray的成員函式類似。因此,也可以參考類CObArray的文檔。只需把函式參數或返回值中出現的CObject指針換成BYTE就可以了。例如,類CObArray中的函式:
CObject* CObArray::GetAt( int ) const;
在類CByteArray中對應的就是
BYTE* CByteArray::GetAt( int ) const;
CByteArray中包含了宏IMPLEMENT_SERIAL,以支持對象的串列化和轉儲。如果位元組數組被存到了檔案中,不管使用覆蓋的操作符“<<”或成員函式Serialize,則其中的元素被串列化
注意:
在使用數組之前,要調用SetSize設定它的大小並分配記憶體。如果沒有使用SetSize,在數組中增加元素會引起數組記憶體空間頻繁的重新分配以及數據拷貝。記憶體頻繁的重新分配和數據拷貝會影響性能並造成記憶體碎片
如果需要對數組中每個元素的輸出調試信息,就要把CDumpContext對象的深度設定為1或更大。

函式成員

構造函式

CByteArray構造一個空的位元組數組

邊界

GetSize取數組中元素的個數(數組大小)
GetUpperBound返回數組的最大有效下標
SetSize設定數組元素的個數(數組大小)

操作

FreeExtra釋放數組中當前已有數據的最大上界後所有未占用的記憶體
RemoveAll刪除數組中所有的元素

元素存取

GetAt返回指定下標處的數組元素的值
SetAt給數組中指定下標的元素賦值,但不能動態增長數組(指定的下標不能越界)
ElementAt返回對數組中某個位元組的臨時參考
GetData允許訪問數組中的元素。可以為NULL

數組增長

SetAtGrow給數組中指定下標的元素賦值,在下標越界時動態增長數組Add在數組末尾增添一個元素,必要時增長數組Append在數組末尾接上另一個數組,必要時增長數組
Copy把另一個數組的內容拷貝到本數組,必要時增長數組

插入/刪除

InsertAt在指定的下標處插入元素(或另外一個數組的內容)
RemoveAt刪除指定下標處的一個元素
操作符operator[]取指定下標處元素的值,或者給其賦值

相關詞條

熱門詞條

聯絡我們