2013-06-18 72 views
0

我試圖在方法調用堆棧中查找返回類型約束的存在。事件你使用的任何語言,(java/c + +),我們指定方法/函數的返回類型。當這個方法進入調用堆棧(或者在內存中,我不確定)它如何使用我們指定的返回類型?調用堆棧中的方法/函數返回類型

另一件事是爲什麼我們不能在頭中指定兩個返回類型?像 public(int,float)myMethod(){ return(1,2.5); }

所以這個函數可以返回兩個值(一個int和一個浮動)。 我在這裏並不是要求從方法返回多個值。當然,我可以使用數組或創建自定義對象。我的問題是,這是如何映射到堆棧中,以便它注意到返回類型約束以及爲什麼我們不能指定多個返回類型?

正如你所看到的,調用堆棧的畫面,我不能看到這裏的返回類型什麼。

call stack

所以最後我總結一下我的問題。

1)您將如何修改這個附加的圖像指定返回類型,爲什麼?

2)我不能指定不止一個返回類型更在任何語言(我知道),爲什麼?

任何幫助將不勝感激!

回答

0

我明白了。

第一個問題: 1)你將如何修改這個附加的圖像指定返回類型,爲什麼?

答案:調用堆棧中沒有返回類型點。在許多語言中,你甚至沒有指定返回類型,比如python,PHP等。所以返回類型和調用棧沒有關係。

第二個問題: 2)我無法指定任何語言的多個返回類型(我知道),爲什麼?

答案:這取決於需求。語言設計者不需要返回多個值(當然,他們提供了類似於返回數組的替代方法,但值只返回一個,即對數組的引用)。如果語言設計師覺得需要返回兩個值,我認爲他們可以。但是沒有這個必要。