C++標準是否討論了調用堆棧?在C++中使用堆棧和堆是很常見的知識,但是我正在閱讀標準並沒有提及它。C++調用堆棧不符合標準?
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1905.pdf
這東西是留給編譯器實現,但每個人都同意,還是我錯過的東西在瀏覽文檔?
C++標準是否討論了調用堆棧?在C++中使用堆棧和堆是很常見的知識,但是我正在閱讀標準並沒有提及它。C++調用堆棧不符合標準?
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1905.pdf
這東西是留給編譯器實現,但每個人都同意,還是我錯過的東西在瀏覽文檔?
標準中沒有提及。堆棧和堆都不是。該標準描述了C++程序的語法和語義(行爲)。這些實現選擇按照他們的意願來實現它。
但是,當你看到如何調用函數必須表現,沒有一個非常廣泛的選擇。必須有某種堆棧來存儲局部變量!
只有當遞歸調用時才需要它,否則每個函數*都可能*具有其變量的固定位置。 –
或者每個調用框架都有一堆堆空間鏈接在一起... –
@尼克萊:適合於「某種堆棧」類別:) –
該標準討論storage duration而不是棧和堆。這些如何實施取決於實施。
隱形倒票?請解釋爲什麼這個問題是無效的...... – Marcin