C++学习之六、有效的内存管理(三)

2014-11-24 12:34:42 · 作者: · 浏览: 6
。如果在指针上第二次使用delete,程序可能会释放已经指派给另一个对象的内存。

许多内存泄露检查程序(如valgrind)也会检查二次删除和使用已释放的对象等问题。

4.访问越界指针

导致越界写内存的bug经常称为缓冲区溢出错误。这样的bug已经被一些能力极强的病毒和蠕虫所利用,狡猾的黑客也可以利用只一点重写内存的某一部分。从而在正在运行的程序中注入代码。

幸运的是,许多内存检测工具也可以检测出缓冲区溢出错误。而且,尽管C风格的字符串和数组写入内容时存在大量相关的bug,但是如果使用像C++字符串和向量这样一些高级构造的话,有助于防止这样一些bug



摘自 我和我追逐的梦