【发布时间】:2013-10-03 06:23:43
【问题描述】:
我需要创建一个返回指向 int 的指针的函数。
像这样:
int * count()
{
int myInt = 5;
int * const p = &myInt;
return p;
}
由于指针只是一个地址,而变量 myInt 在调用此函数后被销毁。如何在此方法中声明一个 int,它将在内存中保留一个位置,以便稍后通过返回的指针访问它?我知道我可以在函数外部全局声明 int,但我想在函数内部声明它。
提前感谢您的帮助!
【问题讨论】:
-
您不能(如您问题中所述)。为什么不将整数指针传递给函数(或者最好还是使用引用)?
-
@EdHeal 他可以使用
new int(something)但这真的很愚蠢...... -
要获得真正有意义的答案,您可能需要告诉我们更多关于您打算如何使用该变量的信息。例如,如果我连续调用该函数两次,它应该两次返回同一个变量的地址,还是每次都返回一个唯一变量?