Ono*_*Ono 2 c++ memory pointers
这是代码,一个执行一些缓冲操作的函数:
void DoProfile (double* profile, double* &projection, int S, int H, double T)
{
double* p = projection;
for (int h = 0; h < H; h++)
{
memcpy(p, profile, sizeof(double)*S);
p += S;
}
// should p be deleted here like following?
// delete p;
// p = NULL;
}
Run Code Online (Sandbox Code Playgroud)
我不确定,但据我所知,只要不重点,那么最后不需要删除?有人请教育我.谢谢.
你是对的,p
不需要在函数调用结束时释放,因为你没有为它分配任何内存.所以这方面的功能还可以.
但是当然你需要在这个功能之外profile
和projection
之外正确管理内存.您还需要确保已分配足够的内存来容纳所有数据,以免导致访问冲突错误.