0

我试图在方法调用堆栈中找到返回类型约束的存在。事件您使用的任何语言,(java / c++),我们指定方法/函数的返回类型。当此方法进入调用堆栈(或在内存中,我不确定)时,它如何使用我们指定的返回类型?

另一件事是为什么我们不能在标题中指定两种返回类型?像 public (int, float) myMethod(){ return (1, 2.5); }

所以这个函数可以返回两个值(一个 int 和一个 float)。我不是在这里询问从方法返回多个值的问题。当然,我可以使用数组或创建自定义对象。我的问题是,这是如何在堆栈中映射的,以便它注意到返回类型约束以及为什么我们不能指定多个返回类型?

如您所见,调用堆栈的图片,我在这里看不到任何有关返回类型的信息。

调用栈

所以最后我总结一下我的问题。

1)您将如何修改此附加图像以指定返回类型,为什么?

2)我不能用任何语言(我知道)指定一个以上的返回类型,为什么?

任何帮助将不胜感激!

4

1 回答 1

0

我自己弄的。

第一个问题:1)您将如何修改此附加图像以指定返回类型以及为什么?

答:调用堆栈中没有返回类型的点。在许多语言中,您甚至不指定返回类型,例如 python、PHP 等。因此返回类型与调用堆栈没有关系。

第二个问题:2)我不能用任何语言(我知道)指定一个以上的返回类型,为什么?

答:视需求而定。语言设计者觉得不需要返回一个以上的值(当然他们提供了类似返回数组的替代方法,但值只返回一个,即对数组的引用)。如果语言设计者觉得需要返回两个值,我认为他们可以。但没有必要这样做。

于 2013-06-30T15:59:39.300 回答