'distance' 指向的潜在内存泄漏? (动态数组如何与 class 一起工作)
Potential leak of memory pointed to by 'distance' ? (how a dynamic array works with class)
我需要用 class 中的变量填充动态数组。我的任务是用 Point
(x 和 y)填充数组 "distance",并在数组的每个单元格中计算两点之间的距离(使用函数)以及周长所有的距离。
不知道说的是否清楚,我是c++的初学者。请帮我!!谢谢
#include <iostream>
#include "Point.h"
#include "Polygone.h"
using namespace std;
int main() {
int numberSide;
int x1, y1, x2, y2;
Point p1, p2;
cout<<"enter number of sides:"<<endl;
cin>>numberSide;
float* distance=new float(numberSide);
cout<<"enter points:"<<endl;
for (int i=0; i<numberSide; i++) {
cin>>x1>>y1;
Point p1(x1,y1);
cin>>x2>>y2;
Point p2(x2,y2);
distance[i]=p1.distance(p1, p2);
}
return 0;
}
这样分配:
float *distance = new float[numberSide];
像这样释放内存:
delete [] distance;
我需要用 class 中的变量填充动态数组。我的任务是用 Point
(x 和 y)填充数组 "distance",并在数组的每个单元格中计算两点之间的距离(使用函数)以及周长所有的距离。
不知道说的是否清楚,我是c++的初学者。请帮我!!谢谢
#include <iostream>
#include "Point.h"
#include "Polygone.h"
using namespace std;
int main() {
int numberSide;
int x1, y1, x2, y2;
Point p1, p2;
cout<<"enter number of sides:"<<endl;
cin>>numberSide;
float* distance=new float(numberSide);
cout<<"enter points:"<<endl;
for (int i=0; i<numberSide; i++) {
cin>>x1>>y1;
Point p1(x1,y1);
cin>>x2>>y2;
Point p2(x2,y2);
distance[i]=p1.distance(p1, p2);
}
return 0;
}
这样分配:
float *distance = new float[numberSide];
像这样释放内存:
delete [] distance;