出版時(shí)間:2007-1 出版社:機(jī)械工業(yè)出版社發(fā)行室 作者:卡吉爾 頁(yè)數(shù):181 譯者:聶雪軍
Tag標(biāo)簽:無
內(nèi)容概要
C++非常適于大規(guī)模編程,因此,對(duì)C++編程風(fēng)格的討論就超出了小規(guī)模編程所涉及的范圍。本書對(duì)如何使用C++的大規(guī)模編程特性進(jìn)行了詳細(xì)的介紹,這些特性不易掌握,有時(shí)候甚至連經(jīng)驗(yàn)豐富的程序員也難免出錯(cuò)。作者在書中還指出,如果我們沒有正確地使用某種功能強(qiáng)大的語(yǔ)言特性,那么可能編寫出糟糕的程序,這些程序甚至可能比那些使用簡(jiǎn)單方法編寫的程序更加難以理解和低效。本書對(duì)多個(gè)示例程序進(jìn)行了重新編寫以改正程序中的問題,其中使用的技術(shù)包括:提高程序的一致性、去掉冗余的繼承等。本書對(duì)程序的分析過程是模擬代碼復(fù)查的方法,讀者可以對(duì)同一問題的各種不同解決方法分別進(jìn)行評(píng)價(jià)與判斷,然后將這些分析與作者給出的分析加以比較。 本書從示例程序中提煉出了一些關(guān)于設(shè)計(jì)風(fēng)格與編碼風(fēng)格的規(guī)則。如果透徹理解了這些規(guī)則,并且在編程時(shí)能夠遵循這些規(guī)則,那么將有助于程序員編寫出更好的C++程序。 本書描述C++語(yǔ)言中較深層次的程序設(shè)計(jì)思想和使用方法,包含大量軟件工程概念和設(shè)計(jì)模式,重點(diǎn)介紹大規(guī)模編程相關(guān)的內(nèi)容,例如增加代碼的可讀性、可維護(hù)性、可擴(kuò)展性以及執(zhí)行效率等的方法。本書的示例代碼都是從實(shí)際程序中抽取出來的,融入了作者的實(shí)際開發(fā)經(jīng)驗(yàn)。講解如何正確地編寫代碼以及避開一些常見的誤區(qū)和陷阱,并給出了許多實(shí)用的編程規(guī)則,可快速提升讀者的C++編程功力。 本書描述平實(shí),示例豐富,適合有一定編程經(jīng)驗(yàn)的計(jì)算機(jī)程序設(shè)計(jì)與開發(fā)人員參考。
作者簡(jiǎn)介
Tom Cargill是C++領(lǐng)域中公認(rèn)的專家。在AT&T貝爾實(shí)驗(yàn)室的時(shí)候,他就是最早使用C++的程序員之一。他還是《The C++Journal》和《The C+=Report》的專欄作家。本書的內(nèi)容最初來源于Cargill在眾多技術(shù)會(huì)議中所使用的材料。
書籍目錄
譯者序前言第0章 概述參考文獻(xiàn)第1章 抽象 1.1 編程風(fēng)格示例:計(jì)算機(jī)的定價(jià) 1.2 找出共同的抽象 1.3 類之間的區(qū)別 1.4 屬性與行為 1.5 再次引入繼承 1.6 去掉枚舉 小結(jié) 參考文獻(xiàn) 練習(xí)第2章 一致性 2.1 編程風(fēng)格示例:string類 2.2 明確定義的狀態(tài) 2.3 物理狀態(tài)的一致性 2.4 類不變性 2.5 動(dòng)態(tài)內(nèi)存的一致性 2.6 動(dòng)態(tài)內(nèi)存的回收 2.7 編程風(fēng)格示例:第二種方法 小結(jié) 參考文獻(xiàn) 練習(xí)第3章 不必要的繼承 3.1 編程風(fēng)格示例:堆棧 3.2 繼承作用域準(zhǔn)則 3.3 繼承關(guān)系 3.4 封裝 3.5 接口與實(shí)現(xiàn) 3.6 模板 小結(jié) 參考文獻(xiàn) 練習(xí)第4章 虛函數(shù) 4.1 編程風(fēng)格示例:車輛與車庫(kù) 4.2 一致性 4.3 基類的析構(gòu)函數(shù) 4.4 繼承 4.5 耦合 小結(jié) 參考文獻(xiàn) 練習(xí)第5章 運(yùn)算符的重載 5.1 運(yùn)算符重載的基本概念 5.2 編程風(fēng)格示例:FileArray類 5.3 對(duì)實(shí)現(xiàn)的繼承 5.4 程序設(shè)計(jì)中的權(quán)衡:重載運(yùn)算符和成員函數(shù) 小結(jié) 參考文獻(xiàn) 練習(xí)第6章 包裝 6.1 一個(gè)用C編寫的庫(kù) 6.2 編程風(fēng)格示例:用C++對(duì)dirent進(jìn)行包裝 6.3 多個(gè)Directory對(duì)象 6.4 構(gòu)造函數(shù)中的失敗 6.5 對(duì)失敗狀態(tài)的公有訪問 6.6 錯(cuò)誤信息參數(shù) 小結(jié) 參考文獻(xiàn) 練習(xí)第7章 效率 7.1 編程風(fēng)格示例:BigInt類 7.2 BigInt的使用 7.3 動(dòng)態(tài)字符串的長(zhǎng)度 7.4 動(dòng)態(tài)字符串的數(shù)量 7.5 客戶代碼 7.6 改寫B(tài)igInt 小結(jié) 參考文獻(xiàn) 練習(xí)第8章 案例研究 8.1 編程風(fēng)格示例:有限狀態(tài)機(jī) 8.2 初始化 8.3 耦合 8.4 內(nèi)聚 8.5 模塊類與抽象數(shù)據(jù)類型 8.6 屬性與行為 8.7 泛化 參考文獻(xiàn) 練習(xí)第9章 多重繼承 9.1 多重繼承中的二義性 9.2 有向無環(huán)繼承圖 9.3 分析虛基類 9.4 編程風(fēng)格示例:Monitor類 9.5 編程風(fēng)格示例:虛基類 9.6 多重協(xié)議繼承 小結(jié) 參考文獻(xiàn) 練習(xí)第10章 規(guī)則總結(jié)
圖書封面
圖書標(biāo)簽Tags
無
評(píng)論、評(píng)分、閱讀與下載