內容簡介
《C++編程規範:101條規則、準則與最佳實踐》中,兩位知名的c++專家將全球c++界20年的集體智慧和經驗凝結成一套編程規範。這些規範可以作為每一個開發團隊制定實際開發規範的基礎,更是每一位c++程式設計師應該遵循的行事準則。書中對每一條規範都給出了精確的描述,並輔以實例說明;從類型定義到錯誤處理,都給出了最佳的c++實踐,即使使用c++多年的程式設計師也會從《C++編程規範:101條規則、準則與最佳實踐》中受益匪淺。
《C++編程規範:101條規則、準則與最佳實踐》適合於各層次c++程式設計師使用,也可作為高等院校c++課程的教學參考書。
作者簡介
作者:(加拿大)薩特(Herb Sutter) (羅馬)亞歷山德雷斯庫(Andrei Alexandrescu) 譯者:劉基誠
薩特,(Herb Sutter) 曾任ISO C++標準委員會主席,是C++ Users Journal雜誌特邀編輯和專欄作家。他目前在微軟公司領導.NET環境下C++語言擴展的設計工作。除本書外,他還撰寫了三本廣受讚譽的圖書:Exceptional C++ Style、Exceptional C++和More Exceptional C++。前者中譯本也由人民郵電出版社出版。
亞歷山德雷斯庫(Andrei Alexandrescu)世界頂尖的C++專家,C++ Users Journal雜誌的專欄作家,他的Modem C++ Design一書曾榮獲2001年最佳C++圖書稱號,所開發的Loki已經成為最負盛名的C++程式庫之一。
圖書目錄
組織和策略問題 1
第0條 不要拘泥於小節(又名:了解哪些東西不應該標準化) 2
第1條 在高警告級別乾淨利落地進行編譯 4
第2條 使用自動構建系統 7
第3條 使用版本控制系統 8
第4條 做代碼審查 9設計風格 11
第5條 一個實體應該只有一個緊湊的職責 12
第6條 正確、簡單和清晰第一 13
第7條 編程中應知道何時和如何考慮可伸縮性 14
第8條 不要進行不成熟的最佳化 16
第9條 不要進行不成熟的劣化 18
第10條 儘量減少全局和共享數據 19
第11條 隱藏信息 20
第12條 懂得何時和如何進行並發性編程 21
第13條 確保資源為對象所擁有。使用顯式的raii和智慧型指針 24
編程風格 27
第14條 寧要編譯時和連線時錯誤,也不要運行時錯誤 28
第15條 積極使用const 30
第16條 避免使用宏 32
第17條 避免使用“魔數” 34
第18條 儘可能局部地聲明變數 35
第19條 總是初始化變數 36
第20條 避免函式過長,避免嵌套過深 38
第21條 避免跨編譯單元的初始化依賴 39
第22條 儘量減少定義性依賴。避免循環依賴 40
第23條 頭檔案應該自給自足 42
第24條 總是編寫內部#include保護符,決不要編寫外部#include保護符 43
函式與操作符 45
第25條 正確地選擇通過值、(智慧型)指針或者引用傳遞參數 46
第26條 保持重載操作符的自然語義 47
第27條 優先使用算術操作符和賦值操作符的標準形式 48
第28條 優先使用++和——的標準形式。優先調用前綴形式 50
第29條 考慮重載以避免隱含類型轉換 51
第30條 避免重載&&、