您好,我想弄清楚它是如何工作的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"
?堆栈帧将如何创建?