如下测试delete与delete[]对吗?
#include<iostream.h>
#include<fstream.h>
#include <stdlib.h>
void MyFunction(int nSize)
{
char* p= new char[nSize];
cout<<"The address p points is"<<(void*)p<<endl;
int i;
for(i=0; i<nSize;i++)
{
p[i] = 'a'+i;
}
for(i=0; i<nSize;i++)
{
cout<<p[i];
}
cout<<endl;
char *temp = p;
for(i=0; i<nSize;i++)
{
cout<<hex<<(temp[i]&0xff)<<endl; //以十六进制形式查看内存中的内容
}
cout<<endl;
delete p;
cout<<"The address p points before delete is"<<(void*)temp<<endl;
cout<<"The address p points after delete is"<<(void*)p<<endl; //查看P所指的地址
for(i=1; i<nSize;i++)
{
cout<<hex<<(temp[i]&0xff)<<endl; //以十六进制形式查看内存中的内容
}
cout<<hex<<(temp[1]&0xff)<<endl;
}
void main()
{
const int Size =6;
MyFunction(Size);
system("pause");
}