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