內容介紹
《C++編程調試秘笈》內容簡介:當你使用C++進行編程時,很容易犯下各種各樣的錯誤。有哪些常見的錯誤和陷阱?它們有什麼一般的規律和特點?如何避免犯這樣的錯誤?《C++編程調試秘笈》針對這些問題一一解答。《C++編程調試秘笈》討論了程式設計師在C++編程中所犯的一些最為常見的錯誤,並提供了避免這些錯誤的方法。C++社區積累了許多優秀的編程實踐。在書中,作者收集了其中的一些實踐並對它們進行了調整和最佳化,此外,作者還增加了自己的一些有益的實踐。
全書分為3個部分和10個附錄。第一部分是前3章,以概括的方式介紹了C++調試的策略。第二部分包括第4章到第14章,逐個討論C++代碼中最為常見的錯誤類型,並為每種錯誤制定一種策略或規則。各章分別介紹了C++編程中數組、指針、引用、疊代器、變數、記憶體、NULL指針等等相關的缺陷以及調試策略。第三部分包括第15章到第17章。第15章和第16章結合工具概括了調試策略,第17章是對全書內容的一個概括和總結。附錄部分給出了本書所用到的庫和一些程式檔案的原始碼。
《C++編程調試秘笈》要求讀者有一定的C++編程基礎或經驗,適合C++的中級、高級程式設計師閱讀。書中介紹的缺陷捕捉策略和實踐,能夠幫助讀者在C++編程實踐中達到事半功倍的效果。
作者介紹
作者:(美國)Vladimir Kushnir 譯者:徐波Vladimir Kushnir,獲得了USSR科學院固體物理研究所的博士學位。畢業之後,他從事實驗物理研究。在西北大學和阿貢國家實驗室工作時,他先後所使用FORTRAN、C和C++d等程式語言。後來,他投身於華爾街的金融公司,把主要精力放在一種稱為“金融分析”的計算上。他對於提升計算速度具有特別的濃厚的興趣。
徐波,C和C++專家,資深譯者,翻譯有《C專家編程》、《C和指針》等C語言經典之作,譯本準確流程,備受好評。
作品目錄
第一部分 C++的缺陷捕捉策略 1第1章 C++的缺陷來自哪裡 3
第2章 什麼時候捕捉缺陷 5
2.1 為什麼編譯器是捕捉缺陷的最好場合 5
2.2 怎樣用編譯器捕捉缺陷 6
2.3 處理類型的正確方式 7
第3章 在運行時遇見錯誤該怎么辦 11
第二部分 捕捉缺陷:一次處理一個缺陷 17
第4章 索引越界 19
4.1 動態數組 19
4.2 靜態數組 24
4.3 多維數組 26
第5章 指針運算 31
第6章 無效的指針、引用和疊代器 33
第7章 未初始化的變數 37
7.1 初始化的數值(int、double等) 37
7.2 未初始化的布爾值 40
第8章 記憶體泄漏 43
8.1 引用計數指針 47
8.2 作用域指針 49
8.3 用智慧型指針實行所有權 51
第9章 解引用NULL指針 53
第10章 拷貝構造函式和賦值操作符 55
第11章 避免在析構函式中編寫代碼 57
第12章 怎樣編寫一致的比較操作符 63
第13章 使用標準C函式館的錯誤 67
第三部分 捕捉缺陷的樂趣:從測試到調試到產品 69
第14章 基本的測試原則 71
第15章 調試錯誤的策略 75
第16章 使代碼更容易調試 79
第17章 總結 85
附錄A 本書所使用的scpp庫的原始碼 89
附錄B scpp_assert.hpp和scpp_assert.cpp檔案的原始碼 91
附錄C scpp_vector.hpp檔案的原始碼 93
附錄D scpp_array.hpp檔案的原始碼 95
附錄E scpp_matrix.hpp檔案的原始碼 97
附錄F scpp_types.hpp檔案的原始碼 99
附錄G scpp_refcountptr.hpp檔案的原始碼 103
附錄H scpp_scopedptr.hpp檔案的原始碼 105
附錄I scpp_ptr.hpp檔案的原始碼 107
附錄J scpp_date.hpp和scpp_date.cpp檔案的原始碼 109