早教吧作业答案频道 -->其他-->
开辟内存有啥好处呀?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里没这...的网友还看了以下:
my dear friend 初三作文其中要叙述一件事.最好写的感人些.初三水准关键是没有事情可以 2020-05-16 …
有没有一个根据多次的排名位置,而得出好坏的数学算法?例如,小明考了4次试,名次分别是1,X,3,2 2020-06-12 …
等温变化和隔热变化有什么区别?等温变化就是没有温度变化,隔热变化就是系统没有能量进出,我觉得两者意 2020-07-21 …
形容“各项都好但没特色”的成语用来形容一个人,或者物,各方面都不错,但都差不多,没有一样特别突出的 2020-07-25 …
好久没见,好久不见之间的区别?我是外国人。每次说或听,‘好久没见’和‘好久不见’时,总觉得混乱。这两 2020-11-04 …
最近几天惠州有没有出现海市蜃楼几天前我在上楼梯时见到比惠州西湖方向某座高桥更远处有黑影,疑似一座山, 2020-11-12 …
《父亲》的阅读答案1.一文以什么为记叙顺序?能体现这种顺序的词句是?2.第一段中“父亲好像从来没有显 2020-12-07 …
写一篇作文字数800,主要是把这个题目写出分论点,如人在高三是.例子:挫折是人生中的垫脚石,没有他人 2020-12-13 …
有关孩子与家长的矛盾我是湖南省某省重点高中的一名学生.在很小的时候父母就送我去学英语,好像画画,音乐 2020-12-24 …
instead和rather的用法区别要明显体现出区别,我看了好多回答,都是机械罗列句子和作用,根本 2021-02-01 …