1、未分配内存就使用它;
2、内存分配未成功,却使用了它;
3、内存分配虽然成功,但是尚未初始化就使用它;
4、内存分配成功并且已经初始化,但操作越过了边界;
5、忘记了释放内存或只释放一部分,造成内存泄漏;
6、释放了内存却继续使用它;
7、程序中的对象调用关系过于复杂,实在难以搞清楚某个对象究竟是否已经释放;
8、函数return语句写错了,返回了栈内存的地址;
9、使用free或delete释放了内存后,没有将函数设置为NULL;
10、释放的顺序不对。
1、未分配内存就使用它;
2、内存分配未成功,却使用了它;
3、内存分配虽然成功,但是尚未初始化就使用它;
4、内存分配成功并且已经初始化,但操作越过了边界;
5、忘记了释放内存或只释放一部分,造成内存泄漏;
6、释放了内存却继续使用它;
7、程序中的对象调用关系过于复杂,实在难以搞清楚某个对象究竟是否已经释放;
8、函数return语句写错了,返回了栈内存的地址;
9、使用free或delete释放了内存后,没有将函数设置为NULL;
10、释放的顺序不对。