用C++ SDK实现动态数组类
C++ SDK没有直接提供动态数组功能,虽然可以使用MFC的CArray类,或者用指针+new来实现,但前者需要MFC库,后者使用时不易理解且运行效率低,为此,我把很久前自己写的一个简单的动态数组类贴出来,希望给一些朋友启发。
代码说明:本类在数组成员的赋值和内存分配上作了优化,对大数组的性能有明显提高。
使用方法:将代码复制到头文件CMyArray.h文件中,在项目中引用该文件即可。
一、头文件CMyArray.h
#include "stdafx.h"#include <stdio.h> #include <dos.h> #include <conio.h> #include "CMyArray.h"int main(void) { long i;//实例化数组类CMyArray<long> *pArray = new CMyArray<long>();//添加数组成员for(i=1; i<100000; i++){pArray->Add(i);}//移出数组成员pArray->Remove(99991);//获得数组成员个数long nCount = pArray->GetCount();//显示部分数组成员for(i=99990; i<nCount; i++){printf("第 %d 成员的值:%d。\r\n", i, pArray->GetItemValue(i));}//销毁数组对象delete pArray;getchar();return 0;}