标题:[求助]请问内存分配自己会不会自动累加
只看楼主
cpluslover
Rank: 1
等 级:新手上路
威 望:1
帖 子:91
专家分:0
注 册:2006-12-13
 问题点数:0 回复次数:5 
[求助]请问内存分配自己会不会自动累加

#include<iostream.h>
#include<stdlib.h>

int main()
{
long int n=1;
while(1)
{
int *p=new int[n*100];
if(!p)
{
cout<<"stack failed!"<<'\n'
<<"the volumn of it is "
<<n*400<<"byte"<<endl; //不知道是怎么样分内存的,
//如果要连续起来的话把n换成n*(n+1)/2
exit(1);
}

++n;
}


return 0;
}



比如上面我写的小程序,我的意思是如果他会自动累加的话就应该输出n*(n+1)/2 *400;
而不是什么n*400

做实验也不好做,有会知道吗

搜索更多相关主题的帖子: 内存 int 累加 自动 
2007-03-30 16:20
RL720
Rank: 1
等 级:新手上路
帖 子:148
专家分:0
注 册:2005-11-6
得分:0 
亲娘勒。。这咋光new..
没看懂程序啥意思。。。
-.-

2007-03-30 16:33
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
得分:0 
应该是(n-1)*n/2*100*sizeof(int)吧?

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2007-03-30 17:42
飘零的叶子
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-4-3
得分:0 

new是随机分配的哈,?? 不懂你为什么要这么弄。它分配的是内存哪空了就分配哪。连续的也有可能,但可能性很低!尤其是你要把所有内存都分配了那更不可能了,输出的不可能是连续的 和不能为(n-1)*n/2

2007-04-03 12:25
cpluslover
Rank: 1
等 级:新手上路
威 望:1
帖 子:91
专家分:0
注 册:2006-12-13
得分:0 
我当然知道内存可以不是连续分配的,尤其是大块内存基本都不能连续申请到
我的意思只是粗略的估计下电脑中还有多少内存可以用
并不需要非常准确的值
但并不知道每次申请后是不是就自己释放了
所以不知道每次申请的要不要加
释放的话应该就不要加了,没有释放的话就要把每一次申请的全部加起来就是大约可用的内存,不知道这个想法对不对,
有其它估计的方法吗?有的话也可以帖出来,交流一下嘛


“运行正确”的程序不见得是高质量的程序
2007-04-03 12:58
飘零的叶子
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-4-3
得分:0 
感觉这样写的程序不怎么对 再研究研究哈 
2007-04-03 15:55



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-128137-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.215216 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved