卡文特
2016-07-24 08:34
采纳率: 30%
浏览 1.2k

C++中,使用堆对象,比只使用对象指针的优点在哪儿

或者说为什么要使用堆对象那。 使用堆对象跟只使用对象指针的区别在哪儿那。

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • threenewbee 2016-07-24 09:33
    已采纳

    在程序设计阶段不能确定需要用多少内存的情况,就需要用堆内存,在运行时动态分配。比如说,从文件读取数据并且处理,文件有大有小,数据有多有少。你静态分配,分配很多,白白浪费,分配很少,就不能处理大的数据量。
    因为是动态分配的,所以必须使用指针访问。

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • Chely_Yi 2016-07-27 13:37

    你说的堆对象是指动态分配内存用new创建的对象,对象指针是指普通静态对象的指针吧。
    与静态对象不同的是不需要事先确定对象所需内存大小,可以在程序运行过程中确定大小。
    比如创建数组,本来事先要确定数组大小才可以创建,但是如果通过new可以运行是输入一个数作为数组大小来创建。这种通过new创建的对象要通过一个指针来访问。
    作为指针本身来说,他们都指向了一个地址,不同的是,指向new创建对象的指针指向的是一块大小不确定的地址,直到程序运行才能确定,而静态对象的指针指向的是一个写程序是已经确定了的地址

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题