早教吧 育儿知识 作业答案 考试题库 百科 知识分享

开辟内存有啥好处呀?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的编程项目中,有这样的数据类型吗?没有,其根本原因就是该语言不具备这样的能力.
看了开辟内存有啥好处呀?VB里没这...的网友还看了以下:

可变现净值转回存货成本“已计提跌价准备的存货,当可变现净值回升时,允许按照可变现净值转会存货成本.  2020-06-11 …

小伊同学学了声现象以后,一直在想一个问题,在体育馆说话回声好重,而在教室不管怎么讲话都听不到回声,  2020-07-02 …

小伊同学学了声现象以后,一直在想一个问题,在体育馆说话回声好重,而在教室不管怎么讲话都听不到回声,  2020-07-02 …

捏鼻闭口,屏住呼吸,试试能坚持多长时间.为什么不能一直保持这种状态?这说明了生物要生存必须一刻不停  2020-07-12 …

“修昔底德陷阱”是指一个新崛起的大国必然要挑战现存大国,而现存大国也必然会回应这种威胁,这样战争变  2020-07-24 …

一:填空.1.妈妈把500元钱存入银行一年,到期后妈妈不仅可以去回存入的500元,还可以得到银行按  2020-07-26 …

以下叙述中错误的是()AC程序必须由一个或一个以上的函数组成B函数调用可以作为一个独立的语句存在C若  2020-11-03 …

人类的存在是必然的还是偶然的?我的存在是必然的还是偶然的?你...人类的存在是必然的还是偶然的?我的  2020-11-04 …

古希腊历史学家修昔底德提出的“修昔底德陷阱”认为,新崛起的大国必然要挑战现存大国,而现存大国必然会回  2021-01-01 …

可惜正月过去了,闰土须回家改双重否定句可惜正月过去了,闰土须回家这句话怎么改双重否定句呢?  2021-02-02 …