我知道这不起作用,因为变量x在函数返回时被销毁:
int* myFunction()
{
int x = 4; return &x;
}
Run Code Online (Sandbox Code Playgroud)
那么如何正确地返回指向我在函数中创建的东西的指针,以及我需要注意什么?如何避免内存泄漏?
我也用过malloc:
int* myFunction2()
{
int* x = (int*)malloc(sizeof int); *x = 4; return x;
}
Run Code Online (Sandbox Code Playgroud)
你是如何正确地做到这一点的 - 在C和C++中?