C++为什么要动态创建对象

除了动态创建数组以外,动态创建对象又什么特殊的好处吗,和定义一个变量和一个指针,再用指针指向变量比不是更麻烦(容易内存泄露)吗... 除了动态创建数组以外,动态创建对象又什么特殊的好处吗,和定义一个变量和一个指针,再用指针指向变量比不是更麻烦(容易内存泄露)吗 展开
 我来答
tattackor
推荐于2016-08-08 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:875万
展开全部
一、可以最大程度节省资源:
比如一个程序,它可以处理很多东西,
1, 可以处理一个五万人的学校的所有学生的资料。
2, 可以处理一个几十人的小班级。

1)如果用静态的分配,比如说,数组。当知道要处理这些问题的时候,要定义一个50000 长度的数组才能解决问题。这时候,当用这个程序去处理班级资料。这里分配的大量的内存地址都会造成了浪费。
2)要处理50000人以上的学校的资料,又会出现分配不足的问题。需要重新修改代码。(这就是很麻烦的事情了)这个在C++上叫溢出。
3)使用动态分配内存的好处。动态的话,就是使用多少,就用多少。根据输入的数据大小来分配内存。比如说,这个程序处理50人的小班级,则会分配50个空间。当增加一个人的时候,则程序就能自动在后面再加一个空间。

二、优点如下:
1,不会造成浪费,基本上都是有多少用多少。
2,能够随时增加,减少。
程序的灵活性更高。也不会出现分配不足的问题。
掌中萌鼠
2013-01-04 · TA获得超过175个赞
知道答主
回答量:110
采纳率:0%
帮助的人:89.5万
展开全部
好处当然有很多!!LS说的是一个 还有最重要的 可以按需求分配内存。
提高系统资源的利用率。
需要多少就分配多少
一口气分配了 会出现很多无用的内存占用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
magic0f
2013-01-04 · 超过32用户采纳过TA的回答
知道答主
回答量:137
采纳率:0%
帮助的人:93.8万
展开全部
比如一个程序在运行时需要根据用户需求创建若干个类A的对象,你代码怎么写? A a,b,c...?静态创建对象是行不通的.
这时候就要动态创建了
动态开辟内存灵活,特殊的数据结构用动态对象才好
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
来自修武
2013-01-04 · 超过26用户采纳过TA的回答
知道答主
回答量:139
采纳率:0%
帮助的人:55.8万
展开全部
这就是c++和java的不同了,java开辟的空间是自动清理不用的内存,而c++开辟的就需要程序员自己来释放不用的内存,来避免内存泄漏。动态开辟可以有效的管理内存
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
钝锋2
2013-01-04 · 超过29用户采纳过TA的回答
知道答主
回答量:119
采纳率:0%
帮助的人:44.8万
展开全部
自由开辟孔空间!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式