mfc清空数组_[转载]MFC数组类CArray的使用的操作详解【转】

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

MFC定义了数组模板类CArray,并针对各种常用变量类型定义了CByteArray,CArray,CUIntArray,CDArray,CStringArray,CObArray,CPtrArray。详见下表:

数组类

变量类型

变量数值范围

头文件

CArray

通过模板类的参数类型设定各种类型

Afxtempl.h

CByteArray

8位无符号整数 BYTE类型

0—255

Afxcoll.h

CArray

16位无符号整数 WORD类型

0—65535

Afxcoll.h

CDArray

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

MFC数组类使用方法基本相同,下面分别以CArray和CUIntArray为例演示说明数组类的使用方法。

使用 CArray 打开VC++

6.0,创建基于对话框的工程Array。CArrayDlg类声明文件(ArrayDlg.h)中添加语句:

#include

请记住:使用CArray一定要包含头文件afxtempl.h。

打开主对话框资源IDD_ARRAY_DIALOG,添加一个按钮IDC_ARRAY_CPOINT,标题为CArray_CPoint,双击该按钮,在OnArrayCpoint()函数中添加如下代码:

void CArrayDlg::OnArrayCpoint()

{ CArray

m_Array;

m_Array.SetSize(10,10);

CPoint pt1(10,10);

m_Array.Add(pt1);

CPoint pt2(10,50);

m_Array.Add(pt2);

CPoint pt3(10,100);

m_Array.Add(pt3);

int

size=m_Array.GetSize();

CClientDC dc(this);

dc.MoveTo(0,0);

CPoint pt;

for(int i=0;i

{

pt=m_Array.GetAt(i);

dc.LineTo(pt); }}

代码简要说明:

CArray

m_Array;

该语句定义一个CArray数组对象,模板类CArray有两个参数,第一个参数为数组元素的类型,该例中是CPoint,即m_Array是CPoint数组;第二个参数为引用类型,一般有两种选择,一种选择与第一个参数类型相同,它意味着数组对象作为参数传递时,传递的是数组对象。第二种选择是第一个参数类型的引用,它意味着数组对象作为参数

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值