是否可以通过引用从堆栈中传递一些东西?

时间:2012-12-17 15:30:00

标签: reference stack computer-science pass-by-reference

前几天我在php中遇到了一些奇怪的东西,但这个问题比这更普遍。

我想知道的是,是否有可能有一个函数返回一些东西,据我所知,这意味着返回值/函数在堆栈上并将结果传递给一个带引用的函数?

凭借我有限的知识,我会说不,但这只是我的感觉,而且我已经学会了在编程方面永远不要相信我的感受。

1 个答案:

答案 0 :(得分:0)

我不太熟悉PHP中的引用,但你可以用C / C ++和C#中的某些情况来做。

问题是你必须要小心。只要堆栈框架所属的函数没有返回(忽略红色区域之类的东西),堆栈上的值才有效。 C和C ++希望你足够聪明,不要像这样使用悬空引用。

无论如何,它在PHP中无关紧要,因为它是一种高级语言,并隐藏了像你这样的分配细节。最有可能的是,所有对象都在堆上分配。