gpt4 book ai didi

c++ - 如何在函数返回指针之前删除指针?

转载 作者:太空狗 更新时间:2023-10-29 19:47:48 24 4
gpt4 key购买 nike

如果我们有这样一个函数:

int* foo()
{
int *x;
x = new int;

delete x;
return x;
}

我们需要在函数中返回一个指针,但是我们了解到我们需要在最后删除一个空格。

如果我们像上面那样先删除x,那么在最后一行返回x有意义吗?因为 x 不存在了。

但是如果我们在返回前不删除x,这个函数就会结束。

我们该怎么办?或者我们真的不需要删除内存中分配的空间?

最佳答案

您确实需要在某个阶段删除 指针,但这不必在您新建 它的同一函数范围内。它可能发生在你的职能之外,我认为这就是你想要实现的目标。

int* foo()
{
int *x;
x = new int;
return x;
}

int *px = foo();
// use px in some way
delete px;

关于c++ - 如何在函数返回指针之前删除指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42904491/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com