C++快速入门--P36从函数或方法返回内存--课上代码1
#include <iostream>int *newInt(int value)
{
int *x = new int;
*x = value;
return x;
}
int main()
{
int *a = newInt(20);
std::cout << *a << std::endl;
delete a;
a = NULL;
return 0;
}
代码中的问题是在使用完指针a之后没有释放内存。为了避免内存泄漏,需要在使用完指针a后手动释放内存。
可以在main函数最后添加如下代码来释放内存:
delete a;
完整的代码如下:
#include
int *newInt(int value)
{
int *x = new int;
*x = value;
return x;
}
int main()
{
int *a = newInt(20);
std::cout << *a << std::endl;
delete a;
return 0;
}
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页:
[1]