在《C++編程規(guī)范:101條規(guī)則、準(zhǔn)則與實(shí)踐》中,兩位知名的C++專(zhuān)家將全球C++界20年的集體智慧和經(jīng)驗(yàn)?zāi)Y(jié)成一套編程規(guī)范。這些規(guī)范可以作為每一個(gè)開(kāi)發(fā)團(tuán)隊(duì)制定實(shí)際開(kāi)發(fā)規(guī)范的基礎(chǔ),更是每一位C++程序員應(yīng)該遵循的行事準(zhǔn)則。書(shū)中對(duì)每一條規(guī)范都給出了描述,并輔以實(shí)例說(shuō)明;從類(lèi)型定義到錯(cuò)誤處理,都給出了C++實(shí)踐,即使使用C++多年的程序員也會(huì)從本書(shū)中受益匪淺。
《C++編程規(guī)范:101條規(guī)則、準(zhǔn)則與實(shí)踐》適合于各層次C++程序員使用,也可作為高等院校C++課程的教學(xué)參考書(shū)。
C++領(lǐng)域20年集大成之作
兩位世界專(zhuān)家聯(lián)袂巨獻(xiàn)
適合所有層次C++程序員
良好的編程規(guī)范可以改善代碼質(zhì)量,縮短上市時(shí)間,提升團(tuán)隊(duì)效率,簡(jiǎn)化維護(hù)工作。在本書(shū)中,兩位全世界受尊敬的C++專(zhuān)家將全球C++社區(qū)的集體智慧和經(jīng)驗(yàn)?zāi)Y(jié)成一整套編程規(guī)范。這些規(guī)范可以作為每一個(gè)開(kāi)發(fā)團(tuán)隊(duì)制定實(shí)際開(kāi)發(fā)規(guī)范的基礎(chǔ),更是每一位C++程序員應(yīng)該遵循的行事準(zhǔn)則。
本書(shū)涵蓋了C++程序設(shè)計(jì)的每一個(gè)方面,包括設(shè)計(jì)和編碼風(fēng)格、函數(shù)、操作符、類(lèi)的設(shè)計(jì)、繼承、構(gòu)造與析構(gòu)、賦值、名字空間、模塊、模板、泛型、異常、STL容器和算法等。書(shū)中對(duì)每一條規(guī)范都給出了言簡(jiǎn)意賅的概述,并輔以實(shí)例說(shuō)明;另外還給出了從類(lèi)型定義到錯(cuò)誤處理等方面的大量C++實(shí)踐,包括許多總結(jié)和標(biāo)準(zhǔn)化的技術(shù)。即使使用C++多年的程序員也會(huì)從中受益匪淺。
通過(guò)閱讀本書(shū),可以找到以下問(wèn)題的答案。
哪些東西值得標(biāo)準(zhǔn)化?哪些東西不值得標(biāo)準(zhǔn)化?
使代碼可擴(kuò)展的方法是什么?
合理的錯(cuò)誤處理策略有哪些要素?
如何(和為什么要)避免不必要的初始化、循環(huán)依賴(lài)和定義依賴(lài)?
何時(shí)應(yīng)該(以及如何)同時(shí)使用靜態(tài)和動(dòng)態(tài)的多態(tài)性;
如何實(shí)踐“安全的”改寫(xiě)?
何時(shí)該提供不會(huì)失敗的交換?
為什么阻止異?缭侥K邊界傳播?如何阻止?
為什么不應(yīng)該在頭文件中寫(xiě)名字空間聲明或指令?
為什么應(yīng)該使用STL vector和string代替數(shù)組?
如何選擇正確的STL搜索或排序算法?
為了保證代碼的類(lèi)型安全,應(yīng)該遵從哪些規(guī)則?
Herb Sutter,是ISO C++標(biāo)準(zhǔn)委員會(huì)主席,《C++ Users Journal》雜志特邀編輯和專(zhuān)欄作家。他目前在微軟公司領(lǐng)導(dǎo).NET環(huán)境下C++語(yǔ)言擴(kuò)展的設(shè)計(jì)工作。
Andrei Alexandrescu,是C++專(zhuān)家,《C++ Users Journal》雜志的專(zhuān)欄作家,他的《Modern C++ Design》一書(shū)曾榮獲2001年C++圖書(shū)稱(chēng)號(hào)。