默认析构函数:
当系统没有显式定义析构函数,编译器同样会为对象定义一个默认析构函数,默认的析构函数只能释放普通数据成员所占用的空间,无法通过释放通过new和malloc进行申请的空间,因此避免内存泄漏,我们要显式的析构函数对申请的空间释放。
内存泄漏(Memory Leak)是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。
动态分配内存:
new是C++中用于动态内存分配的运算符,在C语言中一般使用malloc函数。
(new后时候最好判断是不是分配成功,防止野指针!!(野指针是什么??你是不是想问?不告诉你))
int *p= new int; if(p==NULL) { cout<<"没有分配成功还操作你妈呢!"<<endl; exit(0); }
野指针指向一个已删除的对象或未申请访问受限内存区域的 指针 。与空指针不同,野指针无法通过简单地判断是否为 NULL 避免,而只能通过养成良好的编程习惯来尽力减少。对野指针进行操作很容易造成程序错误。需对指针进行初始化,有时指针在free或delete后未赋值 NULL,便会使人以为是合法的。如果有想学习编程的初学者,可来我的C/C+&#