那最后释放内存的时候,一定要把p指向刚开始分配内存的位置嘛?
那最后释放内存的时候,一定要把p指向刚开始分配内存的位置嘛?
那最后释放内存的时候,一定要把p指向刚开始分配内存的位置嘛?
2016-09-19
#include <iostream>
#include <stdlib.h>
#include <string>
#include <time.h>
#include "Coordinate.h"
using namespace std;
int main()
{
Coordinate coor[3];
coor[0].m_iX=10;
coor[0].m_iY=20;
cout<< coor[0].m_iX<<" "<< coor[0].m_iY<<endl;
Coordinate *p=new Coordinate[3];
for (int i = 0;i < 3;i++)
{
p->m_iX = 30+i*10;
p->m_iY = 40+i*10;
cout<< p->m_iX<<" "<< p->m_iY<<endl;
p++;
}
p-=3;//你可以试试把p-=3改成2,或者1,系统会提示"rumtime library"
delete []p;
p=NULL;
cout<<"运行时间为"<<clock()<<"ms"<<endl;
system("pause");
return 0;
}#include "Coordinate.h"
#include <iostream>
#include <stdlib.h>
#include <string>
#include <time.h>
using namespace std;
Coordinate::Coordinate()
{
cout<<"Coordinate"<<endl;
}
Coordinate::~Coordinate()
{
cout<<"~Coordinate"<<endl;
}class Coordinate
{
public:
Coordinate();
~Coordinate();
int m_iX;
int m_iY;
};如代码所示,是只有指回原来的位置才可以,不然会程序会崩溃
举报