注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件與程序設計C/C++及其相關C++代碼設計與重用

C++代碼設計與重用

C++代碼設計與重用

定 價:¥38.00

作 者: ( )Martin D.Carroll,( )Margaret A.Ellis著;陳偉柱譯
出版社: 人民郵電出版社
叢編項: C和C++實務精選
標 簽: C語言 代碼 程序設計

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

內(nèi)容簡介

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

作者簡介

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

圖書目錄

第1章 重用性介紹
1.1 什么是重用性
1.1.1 提取代碼來作為重用
1.1.2 可重用代碼的基本特性
1.2 重用的神話
1.3 重用的障礙
1.3.1 非技術障礙
1.3.2 技術障礙
1.4 希望是否尚存
1.5 這本書能給我們帶來什么
1.6 練習
1.7 參考文獻和相關資料
第2章 類的設計
2.1 抽象性
2.2 正規(guī)函數(shù)
2.3 Nice類
2.4 存在最小標準接口嗎
2.4.1 缺省構造函數(shù)
2.4.2 賦值運算符
2.4.3 拷貝構造函數(shù)
2.4.4 相等運算符
2.4.5 析構函數(shù)
2.5 淺拷貝和深拷貝
2.6 接口一致性
2.7 轉型
2.7.1 多重所有權(Multiple Ownership)
2.7.2 敏感轉型
2.7.3 不敏感轉型
2.7.4 轉型數(shù)目(Fanout)
2.8 const關鍵字的使用
2.8.1 抽象const對比位元const
2.8.2 最大限度地使用const
2.8.3 對const不安全的解釋
2.9 總結
2.1 練習
2.11 參考文獻和相關資料
第3章 擴展性
3.1 擴展性的權衡
3.2 擴展性和繼承
3.2.1 只繼承基類的接口
3.2.2 只繼承基類的實現(xiàn)
3.2.3 同時繼承基類的接口和實現(xiàn)
3.3 繼承語義(Semantic)
3.4 繼承的障礙
3.4.1 非虛成員函數(shù)
3.4.2 過度保護
3.4.3 模塊化不足
3.4.4 friend關鍵字的使用
3.4.5 成員變量過多
3.4.6 非虛(Nonvirtual)派生
3.4.7 妨礙繼承的成員函數(shù)
3.5 派生賦值問題
3.6 允許入侵(用戶修改源代碼)繼承
3.7 總結
3.8 練習
3.9 參考文獻和相關資料
第4章 效率
4.1 效率和重用性
4.2 程序創(chuàng)建時間
4.2.1 編譯時間
4.2.2 實例化時間
4.3 代碼大小
4.3.1 源文件分割
4.3.2 外聯(lián)的(outlined)inline
4.3.3 模板特化大小
4.4 運行時間
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 效率的權衡
4.6.1 實現(xiàn)更加困難
4.6.2 使用更加困難
4.7 總結
4.8 練習
4.9 參考文獻和相關資料
第5章 錯誤
5.1 可重用代碼中的錯誤
5.2 錯誤檢測
5.2.1 函數(shù)前提條件
5.2.2 表示不變性
5.3 處理錯誤
5.3.1 程序庫變量
5.3.2 解決問題
5.3.3 程序退出或者程序中止(Exit or Abort)
5.3.4 拋出異常
5.3.5 返回錯誤值
5.3.6 創(chuàng)建Nil值
5.3.7 把無效的數(shù)據(jù)解釋為有效的數(shù)據(jù)
5.3.8 允許不確定的行為
5.4 資源限制(Resource-Limit)錯誤
5.4.1 堆棧溢出
5.4.2 用完空閑存儲空間
5.4.3 文件系統(tǒng)限制
5.5 異常安全性
5.5.1 不一致的狀態(tài)
5.5.2 資源泄漏
5.6 總結
5.7 練習
5.8 參考文獻和相關資料
第6章 沖突
6.1 全局名稱
6.1.1 翻譯單元
6.1.2 類的定義
6.1.3 函數(shù)和數(shù)據(jù)的定義
6.1.4 程序庫的蘊涵意義
6.1.5 命名約定
6.1.6 namespace(名字空間)結構
6.2 宏名稱
6.2.1 宏名稱沖突
6.2.2 去掉宏
6.2.3 宏的命名約定
6.3 環(huán)境名稱
6.4 Unclean程序庫
6.5 Good-Citizen程序庫
6.6 總結
6.7 練習
6.8 參考文獻和相關資料
第7章 兼容性
7.1 向后和向前兼容性
7.2 兼容性的形式
7.3 理論源代碼兼容性
7.4 實際源代碼兼容性
7.5 鏈接兼容性
7.6 運行兼容性
7.7 進程兼容性
7.8 文檔化不兼容性
7.9 非文檔化特性
7.1 總結
7.11 練習
7.12 參考文獻和相關資料
第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 實現(xiàn)不需要的函數(shù)
8.4 總結
8.5 練習
8.6 參考文獻和相關資料
第9章 移植性
9.1 有編寫可移植代碼的必要嗎
9.1.1 可移植性的優(yōu)缺點
9.1.2 目標代碼和創(chuàng)建過程的可移植性
9.2 不斷發(fā)展的語言定義
9.2.1 沖突
9.2.2 實現(xiàn)的完整性
9.3 不確定的行為
9.3.1 排列方式和補全(padding)
9.3.2 地址操縱
9.4 合法但不可移植的代碼
9.4.1 實現(xiàn)性定義的行為
9.4.2 未經(jīng)指定的行為
9.5 實現(xiàn)依賴性
9.6 可移植的數(shù)據(jù)文件
9.7 模板實例化
9.7.1 自動的實例化器
9.7.2 人工實例化
9.8 運行期程序庫
9.9 其他移植性問題
9.1 總結
9.11 練習
9.12 參考文獻和相關資料
第10章 使用其他程序庫
10.1 為何要重用其他程序庫
10.2 使用其他程序庫的缺點
10.2.1 獲得可重用程序庫
10.2.2 效率
10.2.3 沖突
10.2.4 版本同步
10.3 自含式(Self-Contained)程序庫
10.3.1 實現(xiàn)困難
10.3.2 使用困難
10.3.3 效率
10.3.4 隔離
10.4 總結
10.5 練習
第11章 文檔編制
11.1 文檔編制和重用性
11.2 設計文檔
11.3 使用指南
11.3.1 對讀者的背景知識了如指掌
11.3.2 用抽象的觀點來編寫
11.3.3 先解釋普通用法
11.3.4 一次只解釋一個事物
11.3.5 解釋用法,不解釋設計思路
11.3.6 簡單清楚地編寫
11.3.7 準確地使用語言
11.3.8 使用普遍接受的術語
11.3.9 深刻理解重載的術語
11.3.10 給出合法的、無錯誤的代碼
11.3.11 保持簡短的代碼段
11.3.12 避免使用太大的函數(shù)
11.3.13 提供在線實例
11.4 參考手冊
11.4.1 抽象化
11.4.2 語法接口
11.4.3 函數(shù)語義
11.4.4 模板參數(shù)約束
11.5 總結
11.6 練習
11.7 參考文獻和相關資料
第12章 其他話題
12.1 靜態(tài)初始化問題
12.1.1 構造和析構的時刻
12.1.2 程序庫的蘊含意義
12.1.3 初始化函數(shù)
12.1.4 初始化檢查
12.1.5 初始化對象
12.1.6 雙構造
12.2 局部化開銷原則
12.2.1 局部化開銷和C++
12.2.2 局部化開銷和程序庫
12.3 內(nèi)生類和外生類
12.4 迭代器
12.5 類耦合
12.6 推遲決定
12.7 總結
12.8 練習
12.9 參考文獻和相關資料
中英文術語對照表 
參考文獻 

本目錄推薦

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