Здравствуйте, я пытаюсь выяснить, как работает stackalloc
. Исходя из C/C++
, насколько мне известно (ограничено), вы не можете динамически распределять память в стеке, как здесь:
C/C++
пример:
void Allocate(int length){
int vector[length]; //wont work
}
Затем C#
входит в игру, и вы можете сделать это с помощью stackalloc
:
void Allocate(int length){
int []vector=stackalloc int [length];
}
Разве не весь смысл распределения на stack
, чтобы узнать на compile-time
или precompile-time
(macros
и т. Д.), Какой размер будет иметь массив? Как C # управляет этим "magic"
? Как будет создан стековый фрейм?