为什么使用Alloca()不被视为良好做法?alloca()在堆栈上分配内存,而不是在堆上分配内存,如malloc()..所以,当我从例程返回时,内存就被释放了。因此,实际上这解决了我释放动态分配内存的问题。释放通过malloc()是一个主要的头痛,如果某种程度上错过会导致各种记忆问题。为什么使用alloca()尽管有上述特点,但还是气馁?
3 回答
料青山看我应如是
TA贡献1772条经验 获得超8个赞
alloca
void DoSomething() { wchar_t* pStr = alloca(100); //......}
void Process() { for (i = 0; i < 1000000; i++) { DoSomething(); }}
DoSomething
Process()
alloca
alloca
ibeautiful
TA贡献1993条经验 获得超5个赞
char arr[size];
char *arr=alloca(size);
- 3 回答
- 0 关注
- 1564 浏览
添加回答
举报
0/150
提交
取消