а его не надо контролировать )
Тогда как очишается стек?
структуру данных стек знаете? )
Нет наверное)
ничо
ну в общем у тебя есть массив и индекс последнего актуального элемента. Когда надо добавить елемент ты просто дописываешь в след. ячейку и тебе пофиг там было, потому что оно не актуально. Если надо забрать ты забираешь и сдвигаешь индекс на 1 назад
В зависимости от соглашения вызова функции стек может очищать как и программа, которая вызвала функцию, так и сама функция по своему завершению. Что касается C#, тебе лучше самому прогуглить в сторону как работает stack frame в C#. Тому что я сам до конца не уверен, как оно именно в шарпе работает.
не, не в целом как-то так и работает. Каждая функция знает сколько ей места на стеке надо под переменные (аргументы и объявленные в теле). В IL есть .maxstack команда, но то как оно потом преобразуется в ASM вообще никак не коррелирует, потому что в асме есть пролог, эпилог, а стек может и не займётся вовсе из-за оптимизаций. Но в целом, в целом, так и работает.
Обсуждают сегодня