前言
第一部分 基礎
第 1 章 什麼是 C++
歷史淵源
C++ 的組織
如何學習 C++
第 2 章 程式設計的基礎
從程式的構想到執行
建立實際的程式
在 UNIX 下取得輔助說明
取得 IDE 的輔助說明
讀者練習
第 3 章 風格的展現
註解
C++ 程式碼
命名的風格
設計的理念
縮排與程式碼的編排
清晰
簡潔
一致性與組織化
其他相關的資料
摘要
第 4 章 基本宣告及運算式
基本的程式結構
簡單的運算式
std::cout 輸出物件
變數及儲存方式
變數宣告
整數
指定敘述
浮點數
浮點數和整數的除法
字元
寬字元
布林型態
讀者練習
問題解答
第 5 章 陣列、修飾子以及讀取數值
陣列
字串
讀取資料
設定變數的初值
多維陣列
「C 式」字串
整數型態
浮點數型態
常數及參考宣告
修飾子
十六進位及八進位的常數
使用運算子的簡寫
副作用
讀者練習
問題解答
第 6 章 條件式及控制敘述
if 敘述
else 敘述
小心使用 std::strcmp
迴圈敘述
while 敘述
break 敘述
continue 敘述
指定敘述的副作用
讀者習題
問題解答
第 7 章 程式開發的過程
設置工作區域
規格
程式碼設計
原型
Makefile
測試
除錯
維護
改版
電子考古學
在程式中加上標記
利用除錯程式
將編輯器當做瀏覽器
加入註解
讀者練習
第二部分 程式設計基礎
第 8 章 更多控制敘述
for 敘述
switch 敘述
switch、break 及 continue
讀者練習
問題解答
第 9 章 變數範圍與函式
範圍及儲存類型
名稱空間
函式
參數類型的摘要說明
遞迴
結構化程式設計
實質的程式設計
讀者練習
問題解答
第 10 章 C++ 前置處理器
#define 敘述
條件式編譯
#include
參數化的巨集
進階功能
摘要
讀者練習
問題解答
第 11 章 位元運算
位元運算子
AND 運算子(&)
OR 運算子(|)
Exclusive OR 運算子(^)
NOT 運算子(~)
位元左移及右移運算子(<<, >>)
位元的設定、清除與測試
點陣圖形
讀者練習
問題解答
第三部分 進階的型態及類別
第 12 章 進階的型態
結構
聯集
typedef
enum 型態
位元成員或包裝結構
結構陣列
讀者練習
問題解答
第 13 章 類別簡述
堆疊
進一步修改
類別的使用
建構式與解構式
自動產生的成員函式
捷徑
設計風格
結構和類別
讀者練習
第 14 章 類別再述
friend
常數函式
常數的成員
靜態成員變數
靜態成員函式
static 的意義
讀者練習
第 15 章 指標簡述
指標與列印
指標與陣列
reinterpret_cast
指標和結構
命令列引數
讀者練習
問題解答
第四部分 進階程式設計的概念
第 16 章 檔案輸入/輸出
C++ 檔案的 I/O 處理
轉換常式
二進位檔案及 ASCII 檔案
行結束符號的問題
二進位的 I/O
緩衝的問題
未緩衝的 I/O
設計檔案格式
C 語言的 I/O 常式
C 語言的轉換常式
C 語言的二進位 I/O
C 與 C++ 的 I/O
讀者習題
問題解答
第 17 章 除錯及最佳化
程式審查
循序的除錯方式
處理輸出的訊息
互動式的除錯器
對二元搜尋法進行除錯
互動式除錯的提示和技巧
執行期錯誤
最佳化
如何進行最佳化
個案研究:inline 函式與一般函式
個案研究:著色演算法的最佳化
讀者練習
問題解答
第 18 章 運算子重載
建立簡單的定點數類別
運算子函式
運算子成員函式
定點數類別的完整定義
讀者練習
問題解答
第 19 章 浮點運算
浮點的格式
浮點的加/減
乘/除運算
上溢與下溢
近似值誤差
精確度
降低近似值的誤差
決定精確度
精確度及速度
乘冪級數
讀者練習
第 20 章 進階指標
指標、結構及類別
delete 運算子
鏈結串列
循序的鏈結串列
雙向鏈結串列
樹狀結構
印出樹結構的內容
程式的其他部分
西洋棋程式的資料結構
讀者練習
問題解答
第 21 章 進階的類別
衍生類別
虛擬函式
虛擬類別
衍生類別中的函式隱藏
在衍生類別中的建構式與解構式
dynamic_cast 運算子
摘要說明
讀者練習
問題解答
第五部分 其他的語言特性
第 22 章 異常
加入異常到堆疊類別
異常和 assert
讀者練習
第 23 章 模組化程式設計
模組
公開及私有
extern 修飾子
標頭檔
模組的主體
使用無限陣列的程式
多個檔案的 Makefile
使用無限陣列
將工作分成多個模組
模組設計的要點
讀者練習
第 24 章 模板
什麼是模板?
模板:麻煩的方法
模板:C++ 的方式
函式特殊化
類別模板
類別特殊化
實作細節
進階功能
摘要說明
讀者練習
第 25 章 標準模板庫
STL 基礎
班級名冊 — student 集合
使用 STL 串列建立候補名單
將成績儲存在 STL 對應表中
整合所學
使用 STL 時的實務考量
取得更多資訊
讀者練習
第 26 章 程式設計
設計目標
設計要素
設計準則
程式碼編寫
物件
實際的設計技巧
結論
第 27 章 整合
需求
程式碼規劃
程式設計
函式說明
測試
修改
警告
程式檔案
讀者練習
第 28 章 從 C 到 C++
K&R 風格的函式
struct
malloc 與 free
將結構轉換成類別
setjmp 與 longjmp
混合 C 與 C++ 程式碼
摘要說明
讀者練習
第 29 章 C++ 的被遺忘角落
do/while
goto
?: 架構
逗號運算子
重載 () 運算子
指向類別成員的指標
asm 敘述
mutable 修飾子
執行期型態判別
三合字符
問題解答
第 30 章 程式設計箴言
通則
設計
宣告
switch 敘述
前置處理器
風格
編譯
C++ 的十誡
最後提示
問題解答
第六部分 附錄
附錄 A ASCII 字元表
附錄 B 變數範圍
附錄 C 運算子的優先順序
附錄 D 使用乘冪級數計算正弦函數
附錄 E 資源
索引