# 内存泄漏:一块堆内存没有被释放,也没办法被本进程和其他进程继续使用。
栈区内存可以由操作系统内核管理和回收,堆区内存,必须有应用程序进行 回收delete
# 使用未初始化指针(如空指针,无效指针)
int k = 8; int*p = &k 取k变量内存地址
int *p = new int; *p=100;
# 悬挂指针
double *p1 = new double(2.4); double *p2 = p1; //new double(2.4) 返回的是一个指向对象的指针
delete p2; *p1 = 100.4; //对已经销毁的对象内存空间进行占用,悬挂指针
# 多次释放 重复对2个指向同一个对象的进行delete操作,会报 double free 错误。
栈区内存可以由操作系统内核管理和回收,堆区内存,必须有应用程序进行 回收delete
# 使用未初始化指针(如空指针,无效指针)
int k = 8; int*p = &k 取k变量内存地址
int *p = new int; *p=100;
# 悬挂指针
double *p1 = new double(2.4); double *p2 = p1; //new double(2.4) 返回的是一个指向对象的指针
delete p2; *p1 = 100.4; //对已经销毁的对象内存空间进行占用,悬挂指针
# 多次释放 重复对2个指向同一个对象的进行delete操作,会报 double free 错误。