Стек вызовов C ++ не в стандарте? - PullRequest
2 голосов
/ 29 июля 2011

Стандарт C ++ говорит о стеке вызовов?Общеизвестно, как стек и куча используются в C ++, но я читал стандарт и не нашел упоминаний о нем.

http://www.open -std.org / jtc1 / sc22 / wg21 / docs/papers/2005/n1905.pdf

Это то, что осталось до реализации компилятора, но все с этим согласны, или я что-то упустил во время просмотра документа?

Ответы [ 2 ]

5 голосов
/ 29 июля 2011

Не упоминается в стандарте.Ни стек, ни куча не являются.Стандарт описывает синтаксис и семантику (поведение) программ на C ++.Реализации предпочитают реализовывать его по своему усмотрению.

Однако, когда вы видите, как должны вести себя вызовы функций, не существует действительно широкого выбора.Должен быть какой-то стек для хранения локальных переменных!

2 голосов
/ 29 июля 2011

Стандарт говорит о продолжительности хранения вместо стека и кучи.Как они реализуются, зависит от ... реализации.

...