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

C++代碼設(shè)計(jì)與重用

C++代碼設(shè)計(jì)與重用

定 價(jià):¥38.00

作 者: ( )Martin D.Carroll,( )Margaret A.Ellis著;陳偉柱譯
出版社: 人民郵電出版社
叢編項(xiàng): C和C++實(shí)務(wù)精選
標(biāo) 簽: C語言 代碼 程序設(shè)計(jì)

ISBN: 9787115106247 出版時(shí)間: 2002-01-01 包裝: 精裝
開本: 23cm 頁數(shù): 292 字?jǐn)?shù):  

內(nèi)容簡介

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

作者簡介

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

圖書目錄

第1章 重用性介紹
1.1 什么是重用性
1.1.1 提取代碼來作為重用
1.1.2 可重用代碼的基本特性
1.2 重用的神話
1.3 重用的障礙
1.3.1 非技術(shù)障礙
1.3.2 技術(shù)障礙
1.4 希望是否尚存
1.5 這本書能給我們帶來什么
1.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對比位元const
2.8.2 最大限度地使用const
2.8.3 對const不安全的解釋
2.9 總結(jié)
2.1 練習(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 繼承語義(Semantic)
3.4 繼承的障礙
3.4.1 非虛成員函數(shù)
3.4.2 過度保護(hù)
3.4.3 模塊化不足
3.4.4 friend關(guān)鍵字的使用
3.4.5 成員變量過多
3.4.6 非虛(Nonvirtual)派生
3.4.7 妨礙繼承的成員函數(shù)
3.5 派生賦值問題
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)(inlining)
4.4.2 虛函數(shù)
4.4.3 返回引用
4.5 空閑存儲空間(free-store)和堆??臻g(stack space)
4.5.1 使用高效的算法
4.5.2 盡可能快地釋放空閑資源
4.5.3 靜態(tài)對象
4.5.4 龐大的對象
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ò)誤檢測
5.2.1 函數(shù)前提條件
5.2.2 表示不變性
5.3 處理錯(cuò)誤
5.3.1 程序庫變量
5.3.2 解決問題
5.3.3 程序退出或者程序中止(Exit or Abort)
5.3.4 拋出異常
5.3.5 返回錯(cuò)誤值
5.3.6 創(chuàng)建Nil值
5.3.7 把無效的數(shù)據(jù)解釋為有效的數(shù)據(jù)
5.3.8 允許不確定的行為
5.4 資源限制(Resource-Limit)錯(cuò)誤
5.4.1 堆棧溢出
5.4.2 用完空閑存儲空間
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 程序庫的蘊(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程序庫
6.5 Good-Citizen程序庫
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.1 總結(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 對象工廠(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 有編寫可移植代碼的必要嗎
9.1.1 可移植性的優(yōu)缺點(diǎn)
9.1.2 目標(biāo)代碼和創(chuàng)建過程的可移植性
9.2 不斷發(fā)展的語言定義
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)行期程序庫
9.9 其他移植性問題
9.1 總結(jié)
9.11 練習(xí)
9.12 參考文獻(xiàn)和相關(guān)資料
第10章 使用其他程序庫
10.1 為何要重用其他程序庫
10.2 使用其他程序庫的缺點(diǎn)
10.2.1 獲得可重用程序庫
10.2.2 效率
10.2.3 沖突
10.2.4 版本同步
10.3 自含式(Self-Contained)程序庫
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 對讀者的背景知識了如指掌
11.3.2 用抽象的觀點(diǎn)來編寫
11.3.3 先解釋普通用法
11.3.4 一次只解釋一個(gè)事物
11.3.5 解釋用法,不解釋設(shè)計(jì)思路
11.3.6 簡單清楚地編寫
11.3.7 準(zhǔn)確地使用語言
11.3.8 使用普遍接受的術(shù)語
11.3.9 深刻理解重載的術(shù)語
11.3.10 給出合法的、無錯(cuò)誤的代碼
11.3.11 保持簡短的代碼段
11.3.12 避免使用太大的函數(shù)
11.3.13 提供在線實(shí)例
11.4 參考手冊
11.4.1 抽象化
11.4.2 語法接口
11.4.3 函數(shù)語義
11.4.4 模板參數(shù)約束
11.5 總結(jié)
11.6 練習(xí)
11.7 參考文獻(xiàn)和相關(guān)資料
第12章 其他話題
12.1 靜態(tài)初始化問題
12.1.1 構(gòu)造和析構(gòu)的時(shí)刻
12.1.2 程序庫的蘊(yùn)含意義
12.1.3 初始化函數(shù)
12.1.4 初始化檢查
12.1.5 初始化對象
12.1.6 雙構(gòu)造
12.2 局部化開銷原則
12.2.1 局部化開銷和C++
12.2.2 局部化開銷和程序庫
12.3 內(nèi)生類和外生類
12.4 迭代器
12.5 類耦合
12.6 推遲決定
12.7 總結(jié)
12.8 練習(xí)
12.9 參考文獻(xiàn)和相關(guān)資料
中英文術(shù)語對照表 
參考文獻(xiàn) 

本目錄推薦

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