指针(关于内存管理)
1. 动态内存的申请与释放
◦ 用new申请的内存,必须用delete(单个变量)或delete[](数组)释放,避免内存泄漏。
◦ 释放后需将指针置空:delete p; p = nullptr;,防止成为“悬空指针”(指向已释放的内存)。
2. 避免重复释放
同一内存地址不能多次delete,否则会破坏内存管理机制,导致程序崩溃。
3. 指针的作用域
局部指针指向的动态内存,若在函数结束前未释放,会造成内存泄漏(因为指针销毁后,无法再访问该内存)。
1. 动态内存的申请与释放
◦ 用new申请的内存,必须用delete(单个变量)或delete[](数组)释放,避免内存泄漏。
◦ 释放后需将指针置空:delete p; p = nullptr;,防止成为“悬空指针”(指向已释放的内存)。
2. 避免重复释放
同一内存地址不能多次delete,否则会破坏内存管理机制,导致程序崩溃。
3. 指针的作用域
局部指针指向的动态内存,若在函数结束前未释放,会造成内存泄漏(因为指针销毁后,无法再访问该内存)。
相关推荐