CByteArray

CObject
 └CByteArray

类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的更详细信息,请参阅联机文档“Visual C++程序员指南”中的“收集”部分。
#include <afxcoll.h>

请参阅:CObArray


CByteArray类的成员

构造函数
CByteArray构造一个空的字节数组

边界
GetSize取数组中元素的个数(数组大小)
GetUpperBound返回数组的最大有效下标
SetSize设置数组元素的个数(数组大小)

操作
FreeExtra释放数组中当前已有数据的最大上界后所有未占用的内存
RemoveAll删除数组中所有的元素

元素存取
GetAt返回指定下标处的数组元素的值
SetAt给数组中指定下标的元素赋值,但不能动态增长数组(指定的下标不能越界)
ElementAt返回对数组中某个字节的临时参考
GetData允许访问数组中的元素。可以为NULL

数组增长
SetAtGrow给数组中指定下标的元素赋值,在下标越界时动态增长数组
Add在数组末尾增添一个元素,必要时增长数组
Append在数组末尾接上另一个数组,必要时增长数组
Copy把另一个数组的内容拷贝到本数组,必要时增长数组

插入/删除
InsertAt在指定的下标处插入元素(或另外一个数组的内容)
RemoveAt删除指定下标处的一个元素

操作符
operator []取指定下标处元素的值,或者给其赋值