中图网(原中国图书网):网上书店,中文字幕在线一区二区三区,尾货特色书店,中文字幕在线一区,30万种特价书低至2折!

歡迎光臨中圖網 請 | 注冊
> >
C++編程規范(101條規則準則與最佳實踐C和C++實務精選)

包郵 C++編程規范(101條規則準則與最佳實踐C和C++實務精選)

出版社:人民郵電出版社出版時間:2016-03-01
開本: 16開 頁數: 216
中 圖 價:¥47.7(8.0折) 定價  ¥59.9 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>

C++編程規范(101條規則準則與最佳實踐C和C++實務精選) 版權信息

C++編程規范(101條規則準則與最佳實踐C和C++實務精選) 本書特色

良好的編程規范可以改善代碼質量,縮短上市時間,提升團隊效率,簡化維護工作。在本書中,兩位受尊敬的C++專業人士將全球C++社區的集體智慧和經驗凝結成一整套編程規范。這些規范可以作為每一個開發團隊制定實際開發規范的基礎,更是每一位C++程序員應該遵循的行事準則。本書涵蓋了C++程序設計的每一個方面,包括設計和編碼風格、函數、操作符、類的設計、繼承、構造與析構、賦值、名字空間、模塊、模板、泛型、異常、STL容器和算法等。書中對每一條規范都給出了言簡意賅的概述,并輔以實例說明;另外還給出了從類型定義到錯誤處理等方面的大量C++實踐,包括許多總結和標準化的技術。即使使用C++多年的程序員也會從中受益匪淺。通過閱讀本書,可以找到以下問題的答案。哪些東西值得標準化?哪些東西不值得標準化?使代碼可擴展的方法是什么?合理的錯誤處理策略有哪些要素?如何(和為什么要)避免不必要的初始化、循環依賴和定義依賴?何時應該(以及如何)同時使用靜態和動態的多態性;如何實踐“安全的”改寫?何時該提供不會失敗的交換?為什么阻止異常跨越模塊邊界傳播?如何阻止?為什么不應該在頭文件中寫名字空間聲明或指令?為什么應該使用STL vector和string代替數組?如何選擇正確的STL搜索或排序算法?為了保證代碼的類型安全,應該遵從哪些規則?

C++編程規范(101條規則準則與最佳實踐C和C++實務精選) 內容簡介

在本書中,兩位知名的C++專業人士將優選C++界20年的集體智慧和經驗凝結成一套編程規范。這些規范可以作為每一個開發團隊制定實際開發規范的基礎,更是每一位C++程序員應該遵循的行事準則。書中對每一條規范都給出了描述,并輔以實例說明;從類型定義到錯誤處理,都給出了C++實踐,即使使用C++多年的程序員也會從本書中受益匪淺。 本書適合于各層次C++程序員使用,也可作為高等院校C++課程的教學參考書。

C++編程規范(101條規則準則與最佳實踐C和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條 避免重載&&、||或 ,(逗號) 52
第31條 不要編寫依賴于函數參數求值順序的代碼 54

類的設計與繼承 55
第32條 弄清所要編寫的是哪種類 56
第33條 用小類代替巨類 57
第34條 用組合代替繼承 58
第35條 避免從并非要設計成基類的類中繼承 60
第36條 優先提供抽象接口 62
第37條 公用繼承即可替換性。繼承,不是為了重用,而是為了被重用 64
第38條 實施安全的覆蓋 66
第39條 考慮將虛擬函數聲明為非公用的,將公用函數聲明為非虛擬的 68
第40條 要避免提供隱式轉換 70
第41條 將數據成員設為私有的,無行為的聚集(C語言形式的struct)除外 72
第42條 不要公開內部數據 74
第43條 明智地使用Pimpl 76
第44條 優先編寫非成員非友元函數 79
第45條 總是一起提供new和delete 80
第46條 如果提供類專門的new,應該提供所有標準形式(普通、就地和不拋出) 82

構造、析構與復制 85
第47條 以同樣的順序定義和初始化成員變量 86
第48條 在構造函數中用初始化代替賦值 87
第49條 避免在構造函數和析構函數中調用虛擬函數 88
第50條 將基類析構函數設為公用且虛擬的,或者保護且非虛擬的 90
第51條 析構函數、釋放和交換絕 對不能失敗 92
第52條 一致地進行復制和銷毀 94
第53條 顯式地啟用或者禁止復制 95
第54條 避免切片。在基類中考慮用克隆代替復制 96
第55條 使用賦值的標準形式 99
第56條 只要可行,就提供不會失敗的swap(而且要正確地提供) 100

名字空間與模塊 103
第57條 將類型及其非成員函數接口置于同一名字空間中 104
第58條 應該將類型和函數分別置于不同的名字空間中,除非有意想讓它們一起工作 106
第59條 不要在頭文件中或者#include之前編寫名字空間using 108
第60條 要避免在不同的模塊中分配和釋放內存 111
第61條 不要在頭文件中定義具有鏈接的實體 112
第62條 不要允許異常跨越模塊邊界傳播 114
第63條 在模塊的接口中使用具有良好可移植性的類型 116

模板與泛型 119
第64條 理智地結合靜態多態性和動態多態性 120
第65條 有意地進行顯式自定義 122
第66條 不要特化函數模板 126
第67條 不要無意地編寫不通用的代碼 128

錯誤處理與異常 129
第68條 廣泛地使用斷言記錄內部假設和不變式 130
第69條 建立合理的錯誤處理策略,并嚴格遵守 132
第70條 區別錯誤與非錯誤 134
第71條 設計和編寫錯誤安全代碼 137
第72條 優先使用異常報告錯誤 140
第73條 通過值拋出,通過引用捕獲 144
第74條 正確地報告、處理和轉換錯誤 145
第75條 避免使用異常規范 146

STL:容器 149
第76條 默認時使用vector。否則,選擇其他合適的容器 150
第77條 用vector和string代替數組 152
第78條 使用vector(和string::c_str)與非C++ API交換數據 153
第79條 在容器中只存儲值和智能指針 154
第80條 用push_back代替其他擴展序列的方式 155
第81條 多用范圍操作,少用單元素操作 156
第82條 使用公認的慣用法真正地壓縮容量,真正地刪除元素 157

STL:算法 159
第83條 使用帶檢查的STL實現 160
第84條 用算法調用代替手工編寫的循環 162
第85條 使用正確的STL查找算法 165
第86條 使用正確的STL排序算法 166
第87條 使謂詞成為純函數 168
第88條 算法和比較器的參數應多用函數對象少用函數 170
第89條 正確編寫函數對象 172

類型安全 173
第90條 避免使用類型分支,多使用多態 174
第91條 依賴類型,而非其表示方式 176
第92條 避免使用reinterpret_cast 177
第93條 避免對指針使用static_cast 178
第94條 避免強制轉換const 179
第95條 不要使用C風格的強制轉換 180
第96條 不要對非POD進行memcpy操作或者memcmp操作 182
第97條 不要使用聯合重新解釋表示方式 183
第98條 不要使用可變長參數(...) 184
第99條 不要使用失效對象。不要使用不安全函數 185
第 100條 不要多態地處理數組 186

參考文獻 187
摘要匯總 193
索引 205
展開全部

C++編程規范(101條規則準則與最佳實踐C和C++實務精選) 作者簡介

Herb Sutter是ISO C++標準委員會主席,《C++ Users Journal》雜志特邀編輯和專欄作家。他目前在微軟公司領導.NET環境下C++語言擴展的設計工作。 Andrei Alexandrescu是C++專業人士,《C++ Users Journal》雜志的專欄作家,他的《Modern C++ Design》一書曾榮獲2001年C++圖書稱號。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 天津云仓-天津仓储物流-天津云仓一件代发-顺东云仓 | 精密光学实验平台-红外粉末压片机模具-天津博君 | 都江堰招聘网-都江堰人才网 都江堰人事人才网 都江堰人才招聘网 邢台人才网_邢台招聘网_邢台123招聘【智达人才网】 | 进口消泡剂-道康宁消泡剂-陶氏消泡剂-大洋消泡剂 | 名律网-法律问题咨询-找律师-法律知识| 威海防火彩钢板,威海岩棉复合板,威海彩钢瓦-文登区九龙岩棉复合板厂 | 山东限矩型液力偶合器_液力耦合器易熔塞厂家-淄博市汇川源机械厂 | 永嘉县奥阳陶瓷阀门有限公司| 蓝米云-专注于高性价比香港/美国VPS云服务器及海外公益型免费虚拟主机 | 砖机托板价格|免烧砖托板|空心砖托板厂家_山东宏升砖机托板厂 | 沟盖板_复合沟盖板厂_电力盖板_树脂雨水篦子-淄博拜斯特 | 上海冠顶工业设备有限公司-隧道炉,烘箱,UV固化机,涂装设备,高温炉,工业机器人生产厂家 | 砖机托板价格|免烧砖托板|空心砖托板厂家_山东宏升砖机托板厂 | 维泰克Veertek-锂电池微短路检测_锂电池腐蚀检测_锂电池漏液检测 | 铝机箱_铝外壳加工_铝外壳厂家_CNC散热器加工-惠州市铂源五金制品有限公司 | 密封无忧网 _ 专业的密封产品行业信息网 | 考试试题_试卷及答案_诗词单词成语 - 优易学 | 威海防火彩钢板,威海岩棉复合板,威海彩钢瓦-文登区九龙岩棉复合板厂 | 上海深蓝_缠绕机_缠膜机-上海深蓝机械装备有限公司 | 干法制粒机_智能干法制粒机_张家港市开创机械制造有限公司 | 专业生产动态配料系统_饲料配料系统_化肥配料系统等配料系统-郑州鑫晟重工机械有限公司 | 专业甜品培训学校_广东糖水培训_奶茶培训_特色小吃培训_广州烘趣甜品培训机构 | 广州监控安装公司_远程监控_安防弱电工程_无线wifi覆盖_泉威安防科技 | J.S.Bach 圣巴赫_高端背景音乐系统_官网 | PTFE接头|聚四氟乙烯螺丝|阀门|薄膜|消解罐|聚四氟乙烯球-嘉兴市方圆氟塑制品有限公司 | 尼龙PA610树脂,尼龙PA612树脂,尼龙PA1010树脂,透明尼龙-谷骐科技【官网】 | 工装定制/做厂家/公司_工装订做/制价格/费用-北京圣达信工装 | 上海电子秤厂家,电子秤厂家价格,上海吊秤厂家,吊秤供应价格-上海佳宜电子科技有限公司 | 胃口福饺子加盟官网_新鲜现包饺子云吞加盟 - 【胃口福唯一官网】 | 2-羟基泽兰内酯-乙酰蒲公英萜醇-甘草查尔酮A-上海纯优生物科技有限公司 | 波纹补偿器_不锈钢波纹补偿器_巩义市润达管道设备制造有限公司 | 超声骨密度仪,双能X射线骨密度仪【起草单位】,骨密度检测仪厂家 - 品源医疗(江苏)有限公司 | 洗瓶机厂家-酒瓶玻璃瓶冲瓶机-瓶子烘干机-封口旋盖压盖打塞机_青州惠联灌装机械 | 测试治具|过炉治具|过锡炉治具|工装夹具|测试夹具|允睿自动化设备 | 工业胀紧套_万向节联轴器_链条-规格齐全-型号选购-非标订做-厂家批发价格-上海乙谛精密机械有限公司 | 锻造液压机,粉末冶金,拉伸,坩埚成型液压机定制生产厂家-山东威力重工官方网站 | 油漆辅料厂家_阴阳脚线_艺术漆厂家_内外墙涂料施工_乳胶漆专用防霉腻子粉_轻质粉刷石膏-魔法涂涂 | 对照品_中药对照品_标准品_对照药材_「格利普」高纯中药标准品厂家-成都格利普生物科技有限公司 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库 | 阴离子聚丙烯酰胺价格_PAM_高分子聚丙烯酰胺厂家-河南泰航净水材料有限公司 | 大流量卧式砂磨机_强力分散机_双行星双动力混合机_同心双轴搅拌机-莱州市龙跃化工机械有限公司 | 薪动-人力资源公司-灵活用工薪资代发-费用结算-残保金优化-北京秒付科技有限公司 |