C++中删除对象用:DELETE 命令。
下面是个简单的例子以便于理解,例子中动态生成和删除一个Lable:
//全区定义:相关知识点延伸:
1、在C++中,删除对象一般指删除new出来的对象。当然,我们在设计程序时,在“所见即所得”中放置的界面、控件,其实也是程序运行中new出来的,也一样是可以删除的。
2、注意的是,定义的某类对象的某个指针是不能被删除的,它只是一个指针变量而已,也不占什么。
3、删除完某个new出的对象后,原指向这个对象的指针建议置零,当然,你不置零也可以,但一定要清楚地知道,它被重新指向有效的对象前(一般是重新实例化),是没法正常使用的,如果使用就会报错。
4、删除对象的目的一般是释放对象占用的内存空间,或使对象不再动作。new出来的对象只要没有被delete,它就一直在程序中存在着,所以,如果有重复的new出对象的代码,一般就要考虑delete,否则很容易出现程序吃内存越来越大的现象。
5、特别提示:并不是在局部中的变量new出的就会自动释放!是否会释放,不同的编译软件可能会有不同的结果,需要你自已试。但个人建议只要是有重复new的代码,就应有对应的delete。
删除单个对象
class A;
A* a1=new A();
....
delete a1;
2.删除实例数组
A* a1=new A[10];
....
delete[] a1;