C++中new出来的对象,不delete的话,会怎么样?

如题所述

回答追问: main函数执行完,函数退出,进程结束,所有进程占用的内存都会被释放,包括泄露的内存。
main函数执行完,函数退出,进程结束,所有进程占用的内存都会被释放,包括泄露的内存。

  C++是在C语言的基础上开发的一种面向对象编程语言,应用广泛。C++支持多种编程范式 --面向对象编程、泛型编程和过程化编程。最新正式标准C++于2014年8月18日公布。其编程领域众广,常用于系统开发,引擎开发等应用领域,是至今为止最受广大程序员受用的最强大编程语言之一,支持类:类、封装、重载等特性。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-09-29
C++中new出来的对象是内存中的动态分配的堆内存heap,堆内存是需要程序中手动去用delete释放的, 如果不delete的话,结果是内存泄漏,就是说运行的程序会占用很多内存追问

main函数执行完,也不自动回收吗

第2个回答  2012-09-29
如果这个对象没有在其构造函数中动态申请资源的话是不会造成太多的内存泄露问题的。但是如果它在初始化时也动态申请了资源(又进行了new),那么就有可能造成很严重的内存泄露。所以要养成好习惯,申请了资源,不用的时候要归还。
第3个回答  推荐于2016-01-22
  main函数执行完,函数退出,进程结束,所有进程占用的内存都会被释放,包括泄露的内存。

  C++是在C语言的基础上开发的一种面向对象编程语言,应用广泛。C++支持多种编程范式 --面向对象编程、泛型编程和过程化编程。最新正式标准C++于2014年8月18日公布。其编程领域众广,常用于系统开发,引擎开发等应用领域,是至今为止最受广大程序员受用的最强大编程语言之一,支持类:类、封装、重载等特性。
第4个回答  2012-09-29
造成内存泄露,new出来的对象是分配在堆上的,系统不会自动回收,必须手动释放啊。给分哦追问

main函数执行完,也不自动回收吗

C++中new出来的对象,不delete的话,会怎么样?
回答追问: main函数执行完,函数退出,进程结束,所有进程占用的内存都会被释放,包括泄露的内存。main函数执行完,函数退出,进程结束,所有进程占用的内存都会被释放,包括泄露的内存。C++是在C语言的基础上开发的一种面向对象编程语言,应用广泛。C++支持多种编程范式 --面向对象编程、泛型编程和过程化...

在C++中,用new申请了指针指向某内存却不用delete销毁,直到整个应用程序...
会导致内存泄露。操作系统管理内存,是有一个资源队列的,用new申请一块内存时,从可用资源中取一块可用资源分配给应用程序。如果没有用delete归还系统,这块内存就不会返回资源队列,无法再分配给其他应用程序。就好像你从图书馆借书,结果看完后你自己把书放回书库,没有在图书管理系统中体现出来这本书...

C++ 中关于new和delete使用的一些疑问
这个要看你的程序。反正你要知道,new的内存如果不delete,该程序结束之前,这个内存不会释放掉。也就是说如果你的程序中常常new一些内存而不delete,你的程序占用的内存会不断增大。但是有一些全局数据,可以new了不delete,在程序开始运行时,创建这些数据,程序运行过程中使用这些数据,直到程序结束。A3....

QT new控件,但不delete,为什么没有内存泄露
这种父子对象机制会在很大程度上简化我们的内存管理工作,减少内存泄露的风险。我们需要显试删除(就是用DELETE删除)的对象是那些使用NEW创建的并且没有父对象的对象(切记是new的才要delete,通过成员函数获得的对象,没有特殊说明的,千万不要随便delete.)。如果我们在删除一个对象的父对象之前删除它,QT会...

C++中new之后的内容一定要delete吗?
恩,new分配的内存在堆上,必须程序员自己用delete,而局部变量和函数参数分配的内存在堆栈上,自动释放,由系统完成。在堆上分配的内存不用delete释放,就是我们常说的内存泄漏。

c++编程中,用new动态分配内存后,不使用delete,被分配的内存会永远丢失吗...
如果在程序中用new和malloc申请了空间的话,但是在程序中没有手动用delete和free释放空间的话,在程序执行过程中以及程序执行完毕后,这段空间还是被占用,即无法再访问到这部分空间,事实上这就是所谓的“内存泄露”问题。但是在你电脑重启后,这部分空间会被释放的,不会一直被占用,在程序中可以重新...

c++中用new分配的内存不delete的话,程序结束后,内存会否丢失?
如果你程序退出的话,肯定是要还给系统的;如果你说的有后台运行的意思,内存是不会释放的.

C++中用new开辟了空间,忘记用delete了,造成的内存泄露该怎么解决(越...
如果不多的话无所谓,实际上不会有啥影响,随着程序的退出该空间会自动释放。如果程序不停的申请内存空间而又不释放的话,很有可能造成程序异常退出或者将内存消耗完毕。

C++中有new就必须要有delete吗?
当你用完它,并且以后再也用不到的时候,你必须delete掉它,因为函数离开后,你找不到a指针了,你永远也没法用这块内存了,这4个字节的内存被永远占着,系统一直觉得你还要用到这块内存,我们把这个叫做内存泄漏,这样泄漏的地方多了,你的程序占用的内存会越来越大,最后占满电脑内存,导致程序崩溃 ...

在构造函数中用new创建的内存会一直存在吗?
1、new 是c++中的操作符,malloc是c 中的一个函数;2、new 不止是分配内存,而且会调用类的构造函数,同理delete会调用类的析构函数,而malloc则只分配内存,不会进行初始化类成员的工作,同样free也不会调用析构函数;3、内存泄漏对于malloc或者new都可以检查出来的,区别在于new可以指明是哪个文件的哪...

相似回答