锟斤拷九阴真经回归签到界面ol锟斤拷想回归 现在哪个区人多

竟然有这么一个吧
锟斤拷锟斤拷锟斤拷锟斤拷台
做什么的?_反恐精英ol吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:2,258,826贴子:
竟然有这么一个吧
锟斤拷锟斤拷锟斤拷锟斤拷台
做什么的?
谢谢你带我们升级,每次...
吓死宝宝辣 叫了个出租...
[推主xxhama2家里那只小...
3D双端东方魔幻网游「大青云」勾魂公测,穿越逆转,封神故事,全新演绎!
第一个字怎么拼
贴吧热议榜
使用签名档&&
保存至快速回贴锟斤拷锟斤拷锟斤拷业锟斤拷约锟斤拷锟轿伙拷锟?C++锟节达拷锟斤拷浞绞斤拷锟斤拷-中国学网-中国IT综合门户网站-提供健康,养生,留学,移民,创业,汽车等信息
锟斤拷锟斤拷锟斤拷业锟斤拷约锟斤拷锟轿伙拷锟?C++锟节达拷锟斤拷浞绞斤拷锟斤拷
来源:互联网 更新时间: 17:51:18 责任编辑:李志喜字体:
栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。在一个进程中,位于用户虚拟地址空间顶部的是用户栈,编译器用它来实现函数的调用。和堆一样,用户栈在程序执行期间可以动态地扩展和收缩。
  堆,就是那些由&new&分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个&new&就要对应一个&delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。堆可以动态地扩展和收缩。
  自由存储区,就是那些由&malloc&等分配的内存块,他和堆是十分相似的,不过它是用&free&来结束自己的生命的。
  全局/静态存储区,全局变量和静态变量被分配到同一块内存中,在以前的&C&语言中,全局变量又分为初始化的和未初始化的(初始化的全局变量和静态变量在一块区域,未初始化的全局变量与静态变量在相邻的另一块区域,同时未被初始化的对象存储区可以通过&void*&来访问和操纵,程序结束后由系统自行释放),在&C++&里面没有这个区分了,他们共同占用同一块内存区。
  常量存储区,这是一块比较特殊的存储区,他们里面存放的是常量,不允许修改(当然,你要通过非正当手段也可以修改,而且方法很多)
  明确区分堆与栈
  在 BBS&上,堆与栈的区分问题,似乎是一个永恒的话题,由此可见,初学者对此往往是混淆不清的,所以我决定拿他第一个开刀。
  首先,我们举一个例子:
void f() { int* p=new int[5]; }
  这条短短的一句话就包含了堆与栈,看到&new,我们首先就应该想到,我们分配了一块堆内存,那么指针&p&呢?他分配的是一块栈内存,所以这句话的意思就是:在栈内存中存放了一个指向一块堆内存的指针&p。在程序会先确定在堆中分配内存的大小,然后调用&operator new&分配内存,然后返回这块内存的首地址,放入栈中,他在&VC6&下的汇编代码如下:
14h  0040102A
operator new ()  0040102F
dword ptr [ebp-8],eax  
eax,dword ptr [ebp-8]  
dword ptr [ebp-4],eax
  这里,我们为了简单并没有释放内存,那么该怎么去释放呢?是&delete p&么?噢,错了,应该是&delete []p,这是为了告诉编译器:我删除的是一个数组,VC6&就会根据相应的&Cookie&信息去进行释放内存的工作。
  好了,我们回到我们的主题:堆和栈究竟有什么区别?
  主要的区别由以下几点:
  1、管理方式不同;
  2、空间大小不同;
  3、能否产生碎片不同;
  4、生长方向不同;
  5、分配方式不同;
  6、分配效率不同;
  管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制;对于堆来说,释放工作由程序员控制,容易产生memory leak。
相关文章:
上一篇文章:下一篇文章:
最新添加资讯
24小时热门资讯
Copyright © 2004- All Rights Reserved. 中国学网 版权所有
京ICP备号-1 京公网安备02号}

我要回帖

更多关于 九阴真经3d 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信