Applied C++: Techniques for Building Better Software (Paperback)
暫譯: 應用 C++:構建更佳軟體的技術 (平裝本)

Philip Romanik, Amy Muntz

  • 出版商: Addison Wesley
  • 出版日期: 2003-05-01
  • 售價: $1,575
  • 貴賓價: 9.5$1,496
  • 語言: 英文
  • 頁數: 352
  • 裝訂: Paperback
  • ISBN: 0321108949
  • ISBN-13: 9780321108944
  • 相關分類: C++ 程式語言
  • 立即出貨(限量) (庫存=1)

買這商品的人也買了...

商品描述

Table of Contents

Preface.
1. Introduction.

Imaging Basics.
RGB Images.
HSI Images.

Summary.


2. A Test Application.

Image Class Design.
Thumbnail Class.
Thumbnail Algorithm.

Implementation.
Image Class.
Thumbnail Class.

Summary.


3. Design Techniques.

Memory Allocation.
Why a Memory Allocation Object Is Needed.
Memory Allocation Object Requirements.
A Primer on Templates.
Notations Used in Class Diagrams.
Memory Allocator Object?s Class Hierarchy.

Prototyping.
Why Prototyping Works.
Common Fears.
Our Image Framework Prototyping Strategy.
Prototype 1: Simple Image Objects.
Prototype 2: Templated Image Objects.
Prototype 3: Separating Storage from Image Objects.

Summary.


4. Design Considerations.

Coding Guidelines.
Changes to Existing Software.
Naming Conventions.
Indentation.
Comments.
Header File Issues.
Restrictions.

Reusable Code.
The Economics of Reusability.

Designing in Debugging Support.
Creating a Generalized Debugging Stream.
Creating Sinks.
Connecting a Sink to a Stream.
Controlling Debugging Output.
Accessing Objects Indirectly Through an Object Registry.

Summary.


5. System Considerations.

Multithreaded and Multiprocess Designs.
Threads.
Thread Synchronization.
Processes.

Exception Handling.
Designing Your Own Exception Framework.
Avoiding Exception Abuse.
Using Assertions.

Compile-Time Versus Run-Time Issues.
Compiler Issues.
Run-Time Issues.
Template Specialization.

Coding for Internationalization.
Unicode.
A Simple Resource Manager for Strings.
Saving and Restoring Strings from Files.
An Alternate Approach to Handling Strings.
Locales.

Summary.


6. Implementation Considerations.

Finalizing the Image Components.
Image Coordinates.
Image Storage.
Pixel Types.

Finalizing the Image Class.
Image Object.

Adding Global Image Functions.
Copying an Image.
Processing Single Source Images.
Processing Two Source Images.
Processing Images with Neighborhood Operators.
Generating Thumbnails.

Finalizing Interfaces to Third-Party Software.
File Delegates.
Image Delegates.

Summary.


7. Testing and Performance.

Unit Tests.
Using the Unit Test Framework.
Design of the Unit Test Framework.
Extending the Unit Test Framework.

Performance Tuning.
General Guidelines.
Thirteen Ways to Improve Performance.
Image-Specific Improvements.
A Note About Timing Your Code.

Summary.


8. Advanced Topics.

Memory Issues.
Copy on Write.
Caching Issues.

Language Construct Issues.
Explicit Keyword Usage.
Const Usage.
Pass by Reference Usage.

Extending the Framework.
Adding Image Processing Functions.
Enhancing Digital Photographs.

Summary.


A. Useful Online Resources.

Software.
Standards.


B. CD-ROM Information.

Contents.
Framework.
Prototypes.
Utilities.
DebugView Utility.
Intel C++ Compiler.

Delegates.
Intel Integrated Performance Primitives (IPP).
JPEG.
TIFF.

商品描述(中文翻譯)

**目錄**

**前言。**
1. 介紹。

成像基礎。
RGB 圖像。
HSI 圖像。
總結。

**2. 測試應用程式。**

圖像類別設計。
縮圖類別。
縮圖演算法。
實作。
圖像類別。
縮圖類別。
總結。

**3. 設計技術。**

記憶體配置。
為什麼需要記憶體配置物件。
記憶體配置物件的要求。
模板入門。
類別圖中使用的符號。
記憶體配置物件的類別層次結構。
原型設計。
為什麼原型設計有效。
常見的恐懼。
我們的圖像框架原型設計策略。
原型 1:簡單圖像物件。
原型 2:模板化圖像物件。
原型 3:將儲存與圖像物件分開。
總結。

**4. 設計考量。**

編碼指導方針。
對現有軟體的變更。
命名慣例。
縮排。
註解。
標頭檔問題。
限制。
可重用的程式碼。
可重用性的經濟學。
設計調試支援。
創建通用的調試流。
創建接收器。
將接收器連接到流。
控制調試輸出。
通過物件註冊表間接訪問物件。
總結。

**5. 系統考量。**

多執行緒和多進程設計。
執行緒。
執行緒同步。
進程。
異常處理。
設計自己的異常框架。
避免異常濫用。
使用斷言。
編譯時與執行時問題。
編譯器問題。
執行時問題。
模板專用化。
國際化編碼。
Unicode。
字串的簡單資源管理器。
從檔案中儲存和還原字串。
處理字串的替代方法。
區域設置。
總結。

**6. 實作考量。**

最終確定圖像元件。
圖像座標。
圖像儲存。
像素類型。
最終確定圖像類別。
圖像物件。
添加全域圖像函數。
複製圖像。
處理單一來源圖像。
處理兩個來源圖像。
使用鄰域運算子處理圖像。
生成縮圖。
最終確定與第三方軟體的介面。
檔案委派。
圖像委派。
總結。

**7. 測試與性能。**

單元測試。
使用單元測試框架。
單元測試框架的設計。
擴展單元測試框架。
性能調整。
一般指導方針。
改善性能的十三種方法。
圖像特定的改進。
有關計時程式碼的注意事項。
總結。

**8. 進階主題。**

記憶體問題。
寫時複製。
快取問題。
語言結構問題。
明確關鍵字使用。
常數使用。
參考傳遞使用。
擴展框架。
添加圖像處理函數。
增強數位照片。
總結。

**A. 有用的線上資源。**

軟體。
標準。

**B. CD-ROM 資訊。**

內容。
框架。
原型。
工具。
DebugView 工具。
Intel C++ 編譯器。
委派。
Intel 整合性能原件 (IPP)。
JPEG。
TIFF。