如下代码,我在 vs2015 中,for 循环 1000 遍,没有问题,10000 遍就报错
大家觉得是哪里的问题呢?
#include <stdio.h>
void f(char* p)
{
delete[] p;
p = new char[20000];
}
int main()
{
for (int i = 0; i < 10000; i++)
{
char *p = new char[2];
f(p);
delete[] p;
}
getchar();
return 0;
}
按理说以上代码只是在循环创建 20000 个字节的堆内存,创建了又销毁,不应该出问题才对啊。
大家有什么看法?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.