GetImageData(IplImage* srcImage)
{
int m = srcImage->height;
int n = srcImage->width;
int i, j;
// 分配内存
int **w;
w = new int *[m];
for (i=0; i<m; i++)
{
w[i] = new int[n];
}
// 将imgWROI->二位数组中
CvScalar s;
for (i=0; i<m; i++)
{
for (j=0; j<n; j++)
{
s = cvGet2D(srcImage, i, j);
w[i][j] = s.val[0];
}
}
return w;
}
这个在开始就分配了 图像使用内存,但是我在return之前加上delete W,感觉运行完内存还是没释完全,请问如何释放才好,或者还有什么更好的办法来处理指针?
这个是在return 后面还是前面释放?还有就是我这个函数在classs1类里面,但是调用在Class2里面 ,还需要在CLASS2里面来释放吗?谢谢
追答在return 前面.
不用, 用new分配的内存只需要delete一次,也只能delete一次, 对同一new分配的内存delete多次会导致以外的结果