release下内存是如何分配的
时间:2011-11-28
来源:互联网
C/C++ code
就这段代码cout时p[2],p[3],会输出3和4,下面的pf[2],pf[3]也是输出3和4.
开始的
C/C++ code
这里我试过长度为,4,5,8,9,只有当长度为9时,上面输出的p[2],p[3],pf[2],pf[3]才会是乱的,其他都是3,4,
在debug下没有问题,输出是空白的,但是release就有问题,怎么回事呢,看过网上关于relesa和debug对比的文章,都没讲到release内存分配与回收
int main() { char* p=new char[1]; //char* p=NULL; // p=(char*)malloc(8*sizeof(char)); // cout<<sizeof(p); p[0]='1'; p[1]='2'; p[2]='3'; p[3]='4'; //p[4]='5'; //int k=atoi(p); delete [] p; cout<<p[0]<<endl; cout<<p[1]<<endl; cout<<p[2]<<endl; cout<<p[3]<<endl; p=NULL; char* pf=new char[4]; cout<<pf[0]<<endl; cout<<pf[1]<<endl; cout<<pf[2]<<endl; cout<<pf[3]<<endl; //cout<<pf[4]<<endl; delete [] pf; return 0; }
就这段代码cout时p[2],p[3],会输出3和4,下面的pf[2],pf[3]也是输出3和4.
开始的
C/C++ code
char *p=new char[1];
这里我试过长度为,4,5,8,9,只有当长度为9时,上面输出的p[2],p[3],pf[2],pf[3]才会是乱的,其他都是3,4,
在debug下没有问题,输出是空白的,但是release就有问题,怎么回事呢,看过网上关于relesa和debug对比的文章,都没讲到release内存分配与回收
作者: w263044840 发布时间: 2011-11-28
release下,看内存情况
作者: namelij 发布时间: 2011-11-28
一个未定义行为去追究它到底怎么回事儿,是不是有点不值啊
作者: mougaidong 发布时间: 2011-11-28
p 和pf可能挨着 也可能不挨着
作者: ghost5216 发布时间: 2011-11-28
请问release时如何看内存,不会呀
引用 1 楼 namelij 的回复:
release下,看内存情况
release下,看内存情况
作者: w263044840 发布时间: 2011-11-28
我疑问的地方主要是为什么我delete [] p了,数据还在呢,而且只是一部分数据还在
引用 3 楼 ghost5216 的回复:
p 和pf可能挨着 也可能不挨着
p 和pf可能挨着 也可能不挨着
作者: w263044840 发布时间: 2011-11-28
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28