MFC的数组类:CArray,CByteArray,CWordArray,CDWordArray

来源:互联网 发布:易语言获取网页源码 编辑:程序博客网 时间:2024/06/05 02:40

MFC的数组类支持的数组类似于C++中的常规数组,可以存放任何数据类型。C++的常规数组在使用前必须将其定义成能够容纳所有可能需要的元素,而MFC数组类创建的对象可以根据需要动态地增大或减小,数组的起始下标是0,而上限可以是固定的,也可以随着元素的增加而增加,数组在内存中的地址仍然是连续分配的。

  MFC定义了数组模板类CArray,并针对各种常用变量类型定义了CByteArray,CWordArray,CUIntArray,CDWordArray,CStringArray,CObArray,CPtrArray。详见下表:数组类变量类型变量数值范围头文件CArray通过模板类的参数类型设定各种类型 Afxtempl.hCByteArray8位无符号整数 BYTE类型0—255Afxcoll.hCWordArray16位无符号整数 WORD类型0—65535Afxcoll.hCDWordArray32位无符号整数 DWORD类型0—4294967295Afxcoll.hCUIntArray32位无符号整数 UINT类型0—4294967295Afxcoll.hCStringArrayCString字符串 string字符串 Afxcoll.hCObArrayCObject类及其派生类 Afxcoll.hCPtrArrayvoid* 类型指针 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();