c++難以發(fā)現(xiàn)的bug(有趣)
這些bug可能夠你喝一壺的。
1、被斷言(assert)包含的代碼
常發(fā)生在切換到release版本時,執(zhí)行結(jié)果乖乖的,最終查找結(jié)果是assert括號里的代碼在release下是不執(zhí)行的。
發(fā)現(xiàn):跟蹤,執(zhí)行不到代碼
2、對象成員數(shù)據(jù)錯亂了
基本是成員內(nèi)存上面的其他成員刪除時越界了。class foo{int arr[2];int val;}這種情況如果arr[2]=3;那么val的值會被改變。
發(fā)現(xiàn):內(nèi)存斷點
3、內(nèi)存泄漏
這些內(nèi)存掙脫了韁繩。
發(fā)現(xiàn):#include "crtdbg.h" 并且重載new,參考微軟文檔。linux下建議支持windows平臺,可以利用強大的開發(fā)工具。
總結(jié)
以上所述是小編給大家介紹的c++難以發(fā)現(xiàn)的bug(有趣),希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!
相關文章
C++實現(xiàn)將圖片轉(zhuǎn)換為馬賽克效果的示例代碼
這篇文章主要為大家詳細介紹了C++如何實現(xiàn)將圖片轉(zhuǎn)換為馬賽克效果,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以了解一下2023-01-01C語言使用單鏈表實現(xiàn)學生信息管理系統(tǒng)
這篇文章主要為大家詳細介紹了C語言使用單鏈表實現(xiàn)學生信息管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11C語言關鍵字auto與register及static專項詳解
這篇文章主要解釋了c語言中什么是數(shù)據(jù)類型,什么是變量,他們的真正含義是什么。分析了屬性關鍵字auto,register和static的用法2022-07-07