这些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平台,可以利用强大的开发工具。
总结
以上所述是小编给大家介绍的c++难以发现的bug(有趣),希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
原文链接:http://www.cnblogs.com/fyter/archive/2017/10/07/cpp_funny_bugs.html