早教吧作业答案频道 -->其他-->
开辟内存有啥好处呀?VB里没这个不也照样用的好好地?为什么C++里要搞出来这个?举个例子说明它的优点.诸位回答的都有理,开始为什么VB不用关心回收呢?C++里必须回收.它们的机制还是有区别
题目详情
开辟内存有啥好处呀?VB里没这个不也照样用的好好地?为什么C++里要搞出来这个?举个例子说明它的优点.
诸位回答的都有理,开始为什么VB不用关心回收呢?C++里必须回收.它们的机制还是有区别的.
诸位回答的都有理,开始为什么VB不用关心回收呢?C++里必须回收.它们的机制还是有区别的.
▼优质解答
答案和解析
动态申请内存是C/C++的独有特点之一.
在处理一组未知数据个数的情况下,通常需要声明一个足够大的数组来装填这些数,比如有100到1000个整形数有待处理,那么事先申请的数组至少要有1000个整形数的静态单元,假定最后得到的数据个数为700,那么就有1000 - 700 = 300个存储空间被闲置而造成浪费.
具体的例子是,一个数据文件有N + 1行,第1行是数据个数,第2行到第N + 1行是整形数,首先读出数据个数n,利用动态申请内存时,只需定义 int *a = (int *)malloc(n * sizeof(int));,然后将下面的数据读入数组即可;如果以静态数组方式,则需在编译期间就得给出数组的大小,而不是在运行期间给出.
另外,在处理链表、队列、二叉树等数据项时,没有动态申请内存的功能是无法完成的,你想想,在VB的编程项目中,有这样的数据类型吗?没有,其根本原因就是该语言不具备这样的能力.
在处理一组未知数据个数的情况下,通常需要声明一个足够大的数组来装填这些数,比如有100到1000个整形数有待处理,那么事先申请的数组至少要有1000个整形数的静态单元,假定最后得到的数据个数为700,那么就有1000 - 700 = 300个存储空间被闲置而造成浪费.
具体的例子是,一个数据文件有N + 1行,第1行是数据个数,第2行到第N + 1行是整形数,首先读出数据个数n,利用动态申请内存时,只需定义 int *a = (int *)malloc(n * sizeof(int));,然后将下面的数据读入数组即可;如果以静态数组方式,则需在编译期间就得给出数组的大小,而不是在运行期间给出.
另外,在处理链表、队列、二叉树等数据项时,没有动态申请内存的功能是无法完成的,你想想,在VB的编程项目中,有这样的数据类型吗?没有,其根本原因就是该语言不具备这样的能力.
看了开辟内存有啥好处呀?VB里没这...的网友还看了以下:
关于外星文明的存在我在思考一个问题,如果我们至今没有被外星文明造访过,是否说明一个问题,宇宙中的文明 2020-03-30 …
翻译中英句子你有证据证明雪人真的存在吗?2正考虑换个发型.3我喜欢中药,应为他们几乎没有副作用·4 2020-06-05 …
下列句子没有使用修辞方法的一项是()A.好一个黄土高原!好一个安塞腰鼓!B.我用儿童狡猾的眼光察觉 2020-06-19 …
酒精 浓硫酸 共性酒精 浓硫酸 硝酸银 浓硝酸这几种物质之间的共性··怪我没有说清楚,是保存的共同 2020-06-27 …
英语翻译非常抱歉,经查看我们已经没有纸箱库存了,并且暂时没有收到repeatorder,供应商也很 2020-07-21 …
昆虫有灵魂吗?人有灵魂吗?下辈子去哪?我们地球人类是长得最好看的吗?假如没有灵魂的话,我们每个人是不 2020-11-04 …
我们生活的空间存在着大气压,只是我们平时没有在意它的存在,现提供下列器材:A.塑料吸盘两个B.玻璃片 2020-11-05 …
我们生活的空间存在着大气压,只是我们平时没有在意它的存在,现提供下列器材:A.塑料吸盘两个B.玻璃片 2020-11-05 …
当今社会,随着经济的发展,人们对物质的需求也日益增强,但人们没有保护我们生存环境的意识?当今社会,随 2020-11-05 …
英语翻译我们库存没有现成的样品,因为这种产品生产相对较少所以没有库存样品.所以现在如果有其他的客户下 2020-11-28 …