C++ 动态内存、指针与类的深入解析
1. 动态内存的常见问题及解决方法
动态内存使用中最常见的问题是程序崩溃,以下是可能导致崩溃的原因及解决办法:
- 忘记初始化 :若未初始化数组,其地址会指向随机位置,大概率导致程序崩溃。不过这比得到错误输出却不自知要好。预防方法有两种:
- 声明时立即初始化:
int* A = new myArray[size];
- 先初始化为 `nullptr`,后续再合理初始化:
int* A = nullptr;
在旧程序中用的是 NULL 而非 nullptr ,按惯例, nullptr 表示“不指向任何地方,别去查看元素”。
- 忘记删除 :长时间不删除动态分配的内存,程序会耗尽内存并崩溃。
- 忘记在 delete [] 中使用 [] :这会导致“未定义行为”,程序可能崩溃、正常运行或引发其他严重问题,应避免这种情况。
其他问题及解决办法:
- 一行错误声明多个指针 :如 int* myArray1, myArray2; 不会创建两
超级会员免费看
订阅专栏 解锁全文
1444

被折叠的 条评论
为什么被折叠?



