注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)C/C++及其相關(guān)C++代碼設(shè)計(jì)與重用:C和C++實(shí)務(wù)精選

C++代碼設(shè)計(jì)與重用:C和C++實(shí)務(wù)精選

C++代碼設(shè)計(jì)與重用:C和C++實(shí)務(wù)精選

定 價(jià):¥49.00

作 者: (美)Martin D.Carroll,Margaret A.Ellis 著,陳偉柱 譯
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: VC++

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787115278289 出版時(shí)間: 2012-07-01 包裝: 平裝
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 267 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  《C++代碼設(shè)計(jì)與重用》全面展示如何使用C++編寫(xiě)可重用的代碼,從而提高程序員的開(kāi)發(fā)效率。 全書(shū)分為12章。包括重用性基本概念、類設(shè)計(jì)、擴(kuò)展性、效率、錯(cuò)誤、沖突、兼容性、繼承、移植性、程序庫(kù)等和重用相關(guān)的諸多話題。每一章的最后,通過(guò)總結(jié)和練習(xí)幫助你鞏固概念、加深理解,參考文獻(xiàn)和相關(guān)資料為你指明了深入學(xué)習(xí)的方向。 本書(shū)適合有一定C++經(jīng)驗(yàn)的程序員閱讀,也可供以提高代碼重用性為專門(mén)學(xué)習(xí)方向的讀者參考。

作者簡(jiǎn)介

  Martin Carroll,是AT&T貝爾實(shí)驗(yàn)室的技術(shù)人員,他曾經(jīng)用好幾年的時(shí)間致力于設(shè)計(jì)和實(shí)現(xiàn)可重用的C++程序庫(kù),包括AT&T標(biāo)準(zhǔn)組件庫(kù)(Standard Components Library)。他在Rutgers大學(xué)獲得計(jì)算機(jī)科學(xué)博士學(xué)位。 Margaret Ellis ,是The Annotated C++ Reference Manual的合著者(另一個(gè)作者是大名鼎鼎的C++之父Bjarne Stroustrup),她主要致力于AT&T貝爾實(shí)驗(yàn)室、UNIX系統(tǒng)實(shí)驗(yàn)室和美國(guó)Novell公司的編譯器開(kāi)發(fā)。她曾獲得加州大學(xué)計(jì)算機(jī)專業(yè)的碩士學(xué)位。

圖書(shū)目錄

第1章 重用性介紹
1.1 什么是重用性
1.1.1 提取代碼來(lái)作為重用
1.1.2 可重用代碼的基本特性
1.2 重用的神話
1.3 重用的障礙
1.3.1 非技術(shù)障礙
1.3.2 技術(shù)障礙
1.4 希望是否尚存
1.5 這本書(shū)能給我們帶來(lái)什么
l.6 練習(xí)
1.7 參考文獻(xiàn)和相關(guān)資料

第2章 類的設(shè)計(jì)
2.1 抽象性
2.2 正規(guī)函數(shù)
2.3 Nice類
2.4 存在最小標(biāo)準(zhǔn)接口嗎
2.4.1 缺省構(gòu)造函數(shù)
2.4.2 賦值運(yùn)算符
2.4.3 拷貝構(gòu)造函數(shù)
2.4.4 相等運(yùn)算符
2.4.5 析構(gòu)函數(shù)
2.5 淺拷貝和深拷貝
2.6 接口一致性
2.7 轉(zhuǎn)型
2.7.1 多重所有權(quán)(Multiple Ownership)
2.7.2 敏感轉(zhuǎn)型
2.7.3 不敏感轉(zhuǎn)型
2.7.4 轉(zhuǎn)型數(shù)目(Fanout)
2.8 const關(guān)鍵字的使用
2.8.1 抽象const對(duì)比位元const
2.8.2 最大限度地使用const
2.8.3 對(duì)const不安全的解釋
2.9 總結(jié)
2.10 練習(xí)
2.11 參考文獻(xiàn)和相關(guān)資料

第3章 擴(kuò)展性
3.1 擴(kuò)展性的權(quán)衡
3.2 擴(kuò)展性和繼承
3.2.1 只繼承基類的接口
3.2.2 只繼承基類的實(shí)現(xiàn)
3.2.3 同時(shí)繼承基類的接口和實(shí)現(xiàn)
3.3 繼承語(yǔ)義(Semantie)
3.4 繼承的障礙
3.4.1 非虛成員函數(shù)
3.4.2 過(guò)度保護(hù)
3.4.3 模塊化不足
3.4.4 friend關(guān)鍵字的使用
3.4.5 成員變量過(guò)多
3.4.6 非虛(Nonvirtual)派生
3.4.7 妨礙繼承的成員函數(shù)
3.5 派生賦值問(wèn)題
3.6 允許入侵(用戶修改源代碼)繼承
3.7 總結(jié)
3.8 練習(xí)
3.9 參考文獻(xiàn)和相關(guān)資料

第4章 效率
4.1 效率和重用性
4.2 程序創(chuàng)建時(shí)間
4.2.1 編譯時(shí)間
4.2.2 實(shí)例化時(shí)間
4.3 代碼大小
4.3.1 源文件分割
4.3.2 外聯(lián)的(outlined)inline
4.3.3 模板特化大小
4.4 運(yùn)行時(shí)間
4.4.1 內(nèi)聯(lián)(inlning)
4.4.2 虛函數(shù)
4.4.3 返回引用
4.5 空閑存儲(chǔ)空間(free-store)和堆棧空間(stack space)
4.5.1 使用高效的算法
4.5.2 盡可能快地釋放空閑資源
4.5.3 靜態(tài)對(duì)象
4.5.4 龐大的對(duì)象
4.6 效率的權(quán)衡
4.6.1 實(shí)現(xiàn)更加困難
4.6.2 使用更加困難
4.7 總結(jié)
4.8 練習(xí)
4.9 參考文獻(xiàn)和相關(guān)資料

第5章 錯(cuò)誤
5.1 可重用代碼中的錯(cuò)誤
5.2 錯(cuò)誤檢測(cè)
5.2.1 函數(shù)前提條件
5.2.2 表示不變性
5.3 處理錯(cuò)誤
5.3.1 程序庫(kù)變量
5.3.2 解決問(wèn)題
5.3.3 程序退出或者程序終止(Exit or Abort)
5.3.4 拋出異常
5.3.5 返回錯(cuò)誤值
5.3.6 創(chuàng)建Nil值
5.3.7 把無(wú)效的數(shù)據(jù)解釋為有效的數(shù)據(jù)
5.3.8 允許不確定的行為
5.4 資源限制(Resource-Limit)錯(cuò)誤
5.4.1 堆棧溢出
5.4.2 用完空閑存儲(chǔ)空間
5.4.3 文件系統(tǒng)限制
5.5 異常安全性
5.5.1 不一致的狀態(tài)
5.5.2 資源泄漏
5.6 總結(jié)
5.7 練習(xí)
5.8 參考文獻(xiàn)和相關(guān)資料

第6章 沖突
6.1 全局名稱
6.1.1 翻譯單元
6.1.2 類的定義
6.1.3 函數(shù)和數(shù)據(jù)的定義
6.1.4 程序庫(kù)的蘊(yùn)涵意義
6.1.5 命名約定
6.1.6 namespace(名字空間)結(jié)構(gòu)
6.2 宏名稱
6.2.1 宏名稱沖突
6.2.2 去掉宏
6.2.3 宏的命名約定
6.3 環(huán)境名稱
6.4 Unclean程序庫(kù)
6.5 Good-Citizen程序庫(kù)
6.6 總結(jié)
6.7 練習(xí)
6.8 參考文獻(xiàn)和相關(guān)資料

第7章 兼容性
7.1 向后和向前兼容性
7.2 兼容性的形式
7.3 理論源代碼兼容性
7.4 實(shí)際源代碼兼容性
7.5 鏈接兼容牲
7.6 運(yùn)行兼容牲
7.7 進(jìn)程兼容性
7.8 文檔化不兼容性
7.9 非文檔化特性
7.10 總結(jié)
7.11 練習(xí)
7.12 參考文獻(xiàn)和相關(guān)資料

第8章 繼承體系
8.1 根數(shù)目、深度和扇出數(shù)
8.2 體系類型
8.2.1 直接體系
8.2.2 接口體系
8.2.3 對(duì)象工廠(Object Factory)
8.2.4 句柄體系
8.3 模板還是繼承
8.3.1 指針操縱
8.3.2 派生要求
8.3.3 實(shí)現(xiàn)不需要的函數(shù)
8.4 總結(jié)
8.5 練習(xí)
8.6 參考文獻(xiàn)和相關(guān)資料

第9章 移植性
9.1 有編寫(xiě)可移植代碼的必要嗎
9.1.1 可移植性的優(yōu)缺點(diǎn)
9.1.2 目標(biāo)代碼和創(chuàng)建過(guò)程的可移植性
9.2 不斷發(fā)展的語(yǔ)言定義
9.2.1 沖突
9.2.2 實(shí)現(xiàn)的完整性
9.3 不確定的行為
9.3.1 排列方式和補(bǔ)全(padding)
9.3.2 地址操縱
9.4 合法但不可移植的代碼
9.4.1 實(shí)現(xiàn)性定義的行為
9.4.2 未經(jīng)指定的行為
9.5 實(shí)現(xiàn)依賴性
9.6 可移植的數(shù)據(jù)文件
9.7 模板實(shí)例化
9.7.1 自動(dòng)的實(shí)例化器
9.7.2 人工實(shí)例化
9.8 運(yùn)行期程序庫(kù)
9.9 其他移植性問(wèn)題
9.10 總結(jié)
9.11 練習(xí)
9.12 參考文獻(xiàn)和相關(guān)資料

第10章 使用其他程序庫(kù)
10.1 為何要重用其他程序庫(kù)
10.2 使用其他程序庫(kù)的缺點(diǎn)
10.2.1 獲得可重用程序庫(kù)
10.2.2 效率
10.2.3 沖突
10.2.4 版本同步
10.3 自含式(Self-Contained)程序庫(kù)
10.3.1 實(shí)現(xiàn)困難
10.3.2 使用困難
10.3.3 效率
10.3.4 隔離
10.4 總結(jié)
10.5 練習(xí)

第11章 文檔編制
11.1 文檔編制和重用性
11.2 設(shè)計(jì)文檔
11.3 使用指南
11.3.1 對(duì)讀者的背景知識(shí)了如指掌
11.3.2 用抽象的觀點(diǎn)來(lái)編寫(xiě)
11.3.3 先解釋普通用法
11.3.4 一次只解釋一個(gè)事物
11.3.5 解釋用法,不解釋設(shè)計(jì)思路
11.3.6 簡(jiǎn)單清楚地編寫(xiě)
11.3.7 準(zhǔn)確地使用語(yǔ)言
11.3.8 使用普遍接受的術(shù)語(yǔ)
11.3.9 深刻理解重載的術(shù)語(yǔ)
11.3.10 給出合法的、無(wú)錯(cuò)誤的代碼
11.3.11 保持簡(jiǎn)短的代碼段
11.3.12 避免使用太大的函數(shù)
11.3.13 提供在線實(shí)例
11.4 參考手冊(cè)
11.4.1 抽象化
11.4.2 語(yǔ)法接口
11.4.3 函數(shù)語(yǔ)義
11.4.4 模板參數(shù)約束
11.5 總結(jié)
11.6 練習(xí)
11.7 參考文獻(xiàn)和相關(guān)資料

第12章 其他話題
12.1 靜態(tài)初始化問(wèn)題
12.1.1 構(gòu)造和析構(gòu)的時(shí)刻
12.1.2 程序庫(kù)的蘊(yùn)含意義
12.1.3 初始化函數(shù)
12.1.4 初始化檢查
12.1.5 初始化對(duì)象
12.1.6 雙構(gòu)造
12.2 局部化開(kāi)銷原則
12.2.1 局部化開(kāi)銷和C++
12.2.2 局部化開(kāi)銷和程序庫(kù)
12.3 內(nèi)生類和外生類
12.4 迭代器
12.5 類耦合
12.6 推遲決定
12.7 總結(jié)
12.8 練習(xí)
12.9 參考文獻(xiàn)和相關(guān)資料
中英文術(shù)語(yǔ)對(duì)照表
參考文獻(xiàn)

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)