• 动态内存分配

    2016/04/21 YU飞云 5 评论

为什么有些需要分配动态内存空间,有些不需要?

2 收藏


直接登录
最新评论
  • 楼主的问题应该具体一点

  • Dragonite   2016/04/21

    这就是对象/变量的生命周期了,如果不是动态分配的话,栈返回了,你的对象也就没了(好了我是乱说的)

  • code99 后台开发工程师 2016/05/12

    c++的魅力就在于可以操作内存。当然,坑也是在于操作内存(内存泄漏)。

    我认为需要与否在于你的业务。

     

  • =_= 程序员 2016/05/14

    编码阶段就已经知道所需的空间多大就不用动态分配了啊,当然需要注意下空间是否过大出现栈溢出;如果所需空间大小需要到运行阶段才能确定那不就只能动态分配了呗。

  • 龙雀 野生程序员 2016/05/14

    静态对象有两个明显的缺陷。

     

    1. 如果你要声明数组,静态数组的大小是固定的而且不能扩容。把数组放到堆上可以很轻松解决这一点。

     

    2. 如果你把一个对象声明为类成员,成员必须先于类创建,也就是说这个对象无法依赖其它对象构造(需要访问this,而类创建之前是不会有this的)。这时如果你把对象放堆上,类里面只有一个指针,你想怎么构造就怎么构造。