鱼C论坛

 找回密码
 立即注册
查看: 3117|回复: 3

为什么C++使用 new 和 delete 申请和释放内存

[复制链接]
发表于 2012-7-14 21:22:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
大家好
          问个问题,为什么C++使用 new 和 delete 申请和释放内存,比如一个类
          class Test
            {......};
        int main()
{
        Test *p = new Test;
         ........
        delete p;
//**************************//
       Test test1; //  用这种方法和 new 方法有什么区别,用new方法有什么好处,请大家指教 ,谢谢 !

}
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-14 21:49:39 | 显示全部楼层
会自动调用申请的类型的构造和析构
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-14 22:58:52 | 显示全部楼层
Test test1 比如你说的这个 这个是用类 建立一个对象 ,这种方法定义的对象是静态的 ,在程序运行期间,对象所占的空间是不能随时释放的,在某个函数里面定义了一个对象 , 只有在函数结束时  这个对象才被释放。
而用new 动态的建立一个对象 比如   new Test ,  在执行这句时, 系统开辟了一段内存空间,并在此内存空间存放一个 Test 类的对象  但是这时候不能调用对象 因为他没有 对象名  也不知道它的地址  所以这个时候就需要建立一个 指向该类的 对象的指针 来指向这块 内存区的 首地址 ,然后就可以用这个指针来来访问这个对象 一般用New 动态的 开辟内存空间 大多数 用在 建立链表 这些吧   我能理解的就这么多  不对请不要喷啊
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2012-7-15 16:45:58 | 显示全部楼层

多谢了 ,明白点了
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-14 04:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表