如果我们有这样的函数:
int* foo()
{
int *x;
x = new int;
delete x;
return x;
}
Run Code Online (Sandbox Code Playgroud)
我们需要在函数中返回一个指针,但我们学到的是我们需要在final中删除一个空格.
如果我们先按x上面那样删除,那么x在最后一行返回是否有意义?因为x不再存在了.
但是如果我们x在返回之前没有删除,那么函数就会完成.
我们怎么办?或者我们真的不需要删除在内存中分配的空间?
您确实需要delete在某个阶段使用指针,但这不一定与您所在的函数范围相同new.它可能发生在你的功能之外,我认为这是你想要实现的.
int* foo()
{
int *x;
x = new int;
return x;
}
int *px = foo();
// use px in some way
delete px;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2425 次 |
| 最近记录: |