当我们从函数返回时,如果返回值是一个指针,它必须定义为静态的。对于堆内存分配的指针(例如new/malloc指针)也是如此吗?
考虑这个例子:
#include"stdio.h"
char * func()
{
char * X=new char[10];
X[0]='C';
x[1]='\0';
return X;//is it a good return from function?
}
main()
{
char * A=func();
puts(A);
delete[] A;
}
Run Code Online (Sandbox Code Playgroud)