📄 ptrarray.cpp
字号:
// PtrArray.cpp: implementation of the mPtrArray class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "EggCilcle.h"
#include "PtrArray.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
mPtrArray::mPtrArray()
{
buf=0;
size=0;
}
mPtrArray::~mPtrArray()
{
if(size)delete[]buf;
}
void mPtrArray::InsetPtr(int posi,void *vpt)
{
int i,j;
if(posi<=0)i=1;
else if(posi>size+1)i=size+1;
else i=posi;
void **nbuf=new void*[size+1];
for(j=1;j<=size;j++)
{
if(j<i)*(nbuf+j-1)=*(buf+j-1);
else *(nbuf+j)=*(buf+j-1);
}
*(nbuf+i-1)=vpt;
delete[]buf;
buf=nbuf;
size++;
}
void mPtrArray::RemovePtr(int posi)
{
int i=posi,j;
if(posi<=0)return;
if(posi>size)return;
void**nbuf=new void*[size-1];
for(j=1;j<size;j++)
{
if(j<i)*(nbuf+j-1)=*(buf+j-1);
else *(nbuf+j-1)=*(buf+j);
}
delete[]buf;
buf=nbuf;
size--;
}
void* mPtrArray::operator[](int posi)
{
if(posi<=0)return 0;
else if(posi>size)return 0;
else return *(buf+posi-1);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -