调用堆栈中的方法/函数返回类型

时间:2013-06-18 18:52:16

标签: function methods callstack

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

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

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

正如你所看到的,调用堆栈的图片,我在这里看不到有关返回类型的任何内容。

call stack

所以最后我总结了我的问题。

1)您将如何修改此附加图像以指定返回类型以及原因?

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

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

我自己得到了它。

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

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

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

答案:这取决于要求。语言设计者觉得不需要返回多个值(当然,他们提供像返回数组这样的替代值,但是返回的值只有一个,即对数组的引用)。如果语言设计者觉得需要返回两个值,我认为他们可以。但是没有必要这样做。