在CSDN上看到一个大牛的话 随手就COPY了他的话
检查一下你的代码,用指针的地方是不是都用引用代替?用数组的地方是不是都用vector代替?用字符串的地方是不是都用string代替?new出来的内存是不是马上交给智能指针管理 能用list, stack, queue和map的地方是不是都用上了?
剩下唯一需要小心翼翼的是代码的边界,比如调用Windows API、比如调用别人的C库。在这些地方多用点心思,最好在注释中写清楚内存由谁分配,由谁释放。
在VC下还有一个地方需要小心翼翼的是检查一下你的代码,是不是存在在一个dll中分配内存,在另一个dll中释放,或者在exe中释放,而很不幸你又用了/MT编译选项,改用/MD就没有问题了。
我本人遵循这些原则,已经有好几年没有在自己写的代码中发现内存泄露了。
==========
看着很爽 虽然自己差距很大 但是要努力向这个方向发展.
阅读(1496) | 评论(0) | 转发(0) |