出版時(shí)間:2004-2 出版社:中國電力出版社 作者:Robert B. Murray 頁數(shù):208 譯者:王昕
Tag標(biāo)簽:無
內(nèi)容概要
在國際象棋中,學(xué)會(huì)如何移動(dòng)棋子只能算是入門:要想掌控整個(gè)棋局,我們必須了解自己所下的每一步棋后的策略和戰(zhàn)術(shù)。在C++中也同樣如此。掌握正確的策略可以幫助我們避免常見的陷阱,并提高我們的工作效率。在本書中,C++專家Rob Murray就與我們分享了他寶貴的經(jīng)驗(yàn)和建議,以幫助初中級(jí)C++程序員得到進(jìn)一步的提高。 在本書中,作者大量采用了實(shí)際開發(fā)中的代碼來作為示例,向讀者展示了那些有用的編程策略,并對(duì)那些有害的做法進(jìn)行了警示。為了幫助讀者更好地理解,在書中的每一章結(jié)束前,在該章中被介紹過的主要內(nèi)容都被放到了一個(gè)列表中,此外,書中還給出了一些問題來激勵(lì)讀者們進(jìn)行更多的思考和討論。 本書在一開始就向我們講解了如何為我們的設(shè)計(jì)選擇正確的抽象,提示我們注意抽象和現(xiàn)實(shí)之間的區(qū)別。然后,我們就將學(xué)到如何將已得到的抽象轉(zhuǎn)化成一個(gè)(或多個(gè))C++中的類,期間進(jìn)行的討論所涵蓋的范圍上至高層的設(shè)計(jì)策略,下至底層的接口和實(shí)現(xiàn)細(xì)節(jié)。 接下來本書對(duì)單繼承和多重繼承進(jìn)行了深入的探索。一開始書中會(huì)給出一個(gè)關(guān)于它們應(yīng)該用在設(shè)計(jì)的什么地方的討論,然后就是一些詳細(xì)的示例代碼,用來向我們演示如何在實(shí)踐中使用這些概念。對(duì)于“如何構(gòu)建可派生出其他類的類”以及“這么做的好處何在”,書中還專門抽出了一章來討論它們。 對(duì)于C++中新增的模板特性,通過從基礎(chǔ)開始到逐步地接觸實(shí)際應(yīng)用中的示例,Rob Murray向我們展示了其空前的洞察力。作者同時(shí)也向我們展示了多種特定的技巧,以使我們的程序更快、重用性更高,并且更健壯。異常是C++中另外一個(gè)新增的特性,對(duì)于何時(shí)該使用它,何時(shí)不該使用它,Murray也向我們給出了他的建議。在本書的最后,我們還可以學(xué)到如何將一個(gè)項(xiàng)目從C移植到C++之上,書中對(duì)該過程的討論不但包括了其中可能出現(xiàn)的技術(shù)問題,也包括了使用技術(shù)的“人”的問題。
作者簡介
Robert B.Murray在撰寫該書時(shí)是量子數(shù)據(jù)系統(tǒng)公司(Quantitative Data Systems)中負(fù)責(zé)軟件工程的副總裁,該公司的業(yè)務(wù)包括向財(cái)富500強(qiáng)(Fortune 500)中的公司提供面向?qū)ο蟮能浖鉀Q方案。在此之前,他曾經(jīng)在AT & T的Bell實(shí)驗(yàn)室工作,在那里他參與了C++語言、編譯器以及
書籍目錄
代譯者序序第0章 簡介 0.1 關(guān)于示例代碼 0.2 本書的組織 0.3 問題 0.4 語言規(guī)則第1章 抽象 1.1 有關(guān)電話號(hào)碼的抽象模型 1.2 抽象模型間的關(guān)系 1.3 請(qǐng)考慮邊界條件 1.4 使用CRC卡片來輔助設(shè)計(jì) 1.5 小結(jié) 1.6 問題第2章 類 2.1 構(gòu)造函數(shù) 2.2 賦值 2.3 公用數(shù)據(jù) 2.4 隱式類型轉(zhuǎn)換 2.5 操作符重載:成員或非成員? 2.6 重載、缺省值以及省略符 2.7 Const 2.8 返回值為引用 2.9 靜態(tài)對(duì)象的構(gòu)造 2.10 小結(jié) 2.11 問題第3章 句柄 3.1 一個(gè)String類 3.2 使用計(jì)數(shù)器來避免多份拷貝 3.3 避免進(jìn)行重編譯:Cheshire Cat 3.4 使用句柄來隱藏設(shè)計(jì) 3.5 多種實(shí)現(xiàn) 3.6 作為對(duì)象的句柄 3.7 綜述 3.8 小結(jié) 3.9 問題第4章 繼承 4.1 is-a關(guān)系 4.2 公有繼承 4.3 私有繼承 4.4 保護(hù)型繼承 4.5 與基類抽象的一致性 4.6 純虛函數(shù) 4.7 有關(guān)繼承的細(xì)節(jié)和陷階 4.8 小結(jié) 4.9 問題第5章 多重繼承 5.1 作為交集的多重繼承 5.2 虛基類 5.3 一些有關(guān)多重繼承的細(xì)節(jié)問題 5.4 小結(jié) 5.5 問題第6章 考慮繼承的設(shè)計(jì) 6.1 被保護(hù)的接口 6.2 我們的設(shè)計(jì)是否應(yīng)該考慮到繼承? 6.3 一些為繼承所做的設(shè)計(jì)的例子 6.4 結(jié)論 6.5 小結(jié) 6.6 問題第7章 模板 7.1 模板類Pair 7.2 一些有關(guān)模板的細(xì)節(jié) 7.3 模板的實(shí)例化 7.4 智能指針 7.5 作為模板參數(shù)的表達(dá)式 7.6 模板函數(shù) 7.7 小結(jié) 7.8 問題第8章 模板的高級(jí)用法 8.1 使用了模板的容器類 8.2 示例:Block 8.3 有關(guān)Block的設(shè)計(jì)細(xì)節(jié) 8.4 帶有迭代器的容器:List 8.5 迭代器的設(shè)計(jì)細(xì)節(jié) 8.6 性能上的考慮 8.7 對(duì)模板參數(shù)的限制 8.8 模板特化 8.9 小結(jié) 8.10 問題第9章 重用 9.1 發(fā)現(xiàn)和獲得 9.2 健壯性 9.3 內(nèi)存管理 9.4 可選的內(nèi)存分配方案 9.5 傳遞參數(shù)給operator new 9.6 管理外部資源 9.7 尋找有關(guān)內(nèi)存的bug 9.8 名字沖突 9.9 性能 9.10 不要去猜想,而應(yīng)該度量! 9.11 算法 9.12 動(dòng)態(tài)內(nèi)存分配中的瓶頸 9.13 內(nèi)嵌 9.14 Tiemann法則 9.15 小結(jié) 9.16 問題第10章 異?!?0.1 一個(gè)負(fù)面的聲明 10.2 為什么需要異常? 10.3 一個(gè)異常的例子 10.4 異常只應(yīng)該用來表述異常情況 10.5 理解異?!?0.6 責(zé)任評(píng)估 10.7 設(shè)計(jì)異常對(duì)象 10.8 小結(jié) 10.9 問題第11章 向C++移植 11.1 選擇使用C++ 11.2 采用C++ 11.3 設(shè)計(jì)和實(shí)現(xiàn) 11.4 開發(fā)一個(gè)堅(jiān)實(shí)的基礎(chǔ) 11.5 相關(guān)的思考 11.6 小結(jié) 11.7 問題
圖書封面
圖書標(biāo)簽Tags
無
評(píng)論、評(píng)分、閱讀與下載