MFC定义了数组模板类CArray,并针对各种常用变量类型定义了CByteArray,CWordArray,CUIntArray,CDWordArray,CStringArray,CObArray,CPtrArray。详见下表:
| 数组类 | 变量类型 | 变量数值范围 | 头文件 |
| CArray | 通过模板类的参数类型设定各种类型 | Afxtempl.h | |
| CByteArray | 8位无符号整数 BYTE类型 | 0—255 | Afxcoll.h |
| CWordArray | 16位无符号整数 WORD类型 | 0—65535 | Afxcoll.h |
| CDWordArray | 32位无符号整数 DWORD类型 | 0—4294967295 | Afxcoll.h |
| CUIntArray | 32位无符号整数 UINT类型 | 0—4294967295 | Afxcoll.h |
| CStringArray | CString字符串 string字符串 | Afxcoll.h | |
| CObArray | CObject类及其派生类 | Afxcoll.h | |
| CPtrArray | void* 类型指针 | Afxcoll.h |
边界
GetSize() 返回数组大小
GetUpperBound() 返回数组上界
SetSize() 设设置数组长度
操作
FreeExtra() 释放已申请但没有使用的多余内容
RemoveAll() 清空数组
元素访问
GetAt() 返回数组中指定位置的值
SetAt() 设置数组中指定位置的值
ElementAt 返回数组中指定位置的临时引用
GetData 以指针形式返回数组
增长数组
SetAtGrow 设置数组的增长幅度
Add 向数组添加元素
Append 将其它数组添加到本数组
Copy 将其它数组复制到本数组
插入删除
InsertAt 向数组插入元素或其它数组
RemoveAt 从数组中删除元素
操作符
operator [] 支持以数组方式访问
CByteArray ba;
ba.Add(66);
ba.Add(65);
ba.InsertAt(1,69);
ba.RemoveAt(2);
BYTE i = ba[1];
ba.RemoveAll();