c++趣味之难以发现的bug

这些bug可能够你喝一壶的。

1、被断言(assert)包含的代码

  常发生在切换到release版本时,执行结果乖乖的,最终查找结果是assert括号里的代码在release下是不执行的。

  发现:跟踪,执行不到代码

2、对象成员数据错乱了

  基本是成员内存上面的其他成员删除时越界了。class foo{int arr[2];int val;}这种情况如果arr[2]=3;那么val的值会被改变。

  发现:内存断点

3、内存泄漏

  这些内存挣脱了缰绳。

  发现:#include "crtdbg.h" 并且重载new,参考微软文档。linux下建议支持windows平台,可以利用强大的开发工具。

持续补充,欢迎提供补充

原文地址:https://www.cnblogs.com/fyter/p/cpp_funny_bugs.html