【问题标题】:Is it possible to pass something from the stack by reference?是否可以通过引用从堆栈中传递一些东西?
【发布时间】:2012-12-17 15:29:59
【问题描述】:

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

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

以我有限的知识,我会说不,但这只是我的一种感觉,我已经学会在编程时永远不要相信自己的感觉。

【问题讨论】:

  • 我不确定我是否明白你在问什么。为什么堆栈是相关的?您似乎在谈论一流的函数,许多语言都有,但 PHP 没有,至少不是without some help
  • @RobertHarvey 我会尽快改写我的问题。

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


【解决方案1】:

我对 PHP 中的引用不太熟悉,但您可以在 C/C++ 中执行此操作,在某些情况下可以在 C# 中执行此操作。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-26
    • 2012-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-17
    相关资源
    最近更新 更多