關(guān)于我們
書單推薦
新書推薦
|
C++編程從入門到實(shí)踐 第2版
本書由淺入深地講解了C++開發(fā)技術(shù)的核心內(nèi)容,并通過具體實(shí)例演練了各個(gè)知識(shí)點(diǎn)在實(shí)踐中的具體使用方法。全書共23章:第1~2章講解了C++技術(shù)的基礎(chǔ)知識(shí),包括C++的重要特性和開發(fā)環(huán)境搭建;第3~7章分別講解了C++語(yǔ)法、變量、常量、流程控制、運(yùn)算符和表達(dá)式等知識(shí);第8~11章分別講解了輸入、輸出、函數(shù)、指針和復(fù)合類型的基本知識(shí),包含了C++開發(fā)技術(shù)的重點(diǎn)和難點(diǎn);第12~20章分別講解了面向?qū)ο、類、繼承、派生、多態(tài)、內(nèi)存管理和異常等內(nèi)容;第21~23章通過3個(gè)綜合實(shí)例,介紹了C++技術(shù)在綜合項(xiàng)目中的開發(fā)流程。全書內(nèi)容循序漸進(jìn),以“范例演練”和“技術(shù)解惑”貫穿全書,引領(lǐng)讀者全面掌握C++語(yǔ)言。
本書不但適合C++的初學(xué)者,也適合有一定C++基礎(chǔ)的讀者,還可以作為大專院校相關(guān)專業(yè)師生的學(xué)習(xí)用書和培訓(xùn)學(xué)校的教材。
一本書包含三大模塊的內(nèi)容:基礎(chǔ)、范例、綜合實(shí)戰(zhàn):
1.Visual C++(VC++)和 Visual Studio(VS)雙工具實(shí)現(xiàn);
2.全書提供豐富的實(shí)例,160多個(gè)正文實(shí)例,更多的實(shí)戰(zhàn)演練機(jī)會(huì);
3.320多個(gè)拓展范例,真正地舉一反三;
4.3個(gè)綜合案例,使讀者具備項(xiàng)目實(shí)戰(zhàn)能力;
5.配套視頻講解,降低學(xué)習(xí)的難度;
6.技術(shù)解惑模塊,破解學(xué)習(xí)難點(diǎn),繞過學(xué)習(xí)中的陷阱;
7.提供豐富的學(xué)習(xí)資料:源程序+視頻+PPT;
8.通過QQ群+網(wǎng)站論壇實(shí)現(xiàn)技術(shù)答疑,形成互幫互學(xué)的朋友圈。
王石磊,著名企業(yè)服務(wù)器事業(yè)部開發(fā)工程師,10多年C和C++開發(fā)經(jīng)驗(yàn),熟悉驅(qū)動(dòng)開發(fā)、系統(tǒng)開發(fā),參與研發(fā)了單位的著名的系統(tǒng)開發(fā),這是中國(guó)首款自主研發(fā)的云數(shù)據(jù)中心操作系統(tǒng),深度融合OpenStack,是開放、融合、安全的云數(shù)據(jù)中心操作系統(tǒng),支持最廣泛的異構(gòu)資源管理和跨云整合。
目 錄
第 1章 C++語(yǔ)言介紹 1
1.1 什么是C++ 2
1.1.1 C++的發(fā)展歷史 2
1.1.2 C++的優(yōu)點(diǎn)和缺點(diǎn) 2
1.2 C++語(yǔ)言的現(xiàn)狀 3
1.3 面向?qū)ο蟆?
1.4 標(biāo)準(zhǔn)庫(kù)介紹 4
第 2章 搭建C++開發(fā)環(huán)境 5
2.1 使用Visual C++ 6.0 6
2.1.1 Visual C++ 6.0的特點(diǎn) 6
2.1.2 安裝Visual C++ 6.0 6
2.2 使用Microsoft Visual Studio 9
2.2.1 Visual Studio 2017的
新功能 9
2.2.2 安裝Microsoft Visual
Studio 2017 10
2.3 編寫第 一個(gè)C++程序 12
2.3.1 使用Visual C++ 6.0
實(shí)現(xiàn) 13
2.3.2 使用Visual Studio 2017
實(shí)現(xiàn) 15
2.4 使用手機(jī)開發(fā)C++程序 17
2.4.1 GCC和C4droid 18
2.4.2 在手機(jī)中搭建C++開發(fā)
環(huán)境 18
2.4.3 在iPhone中使用
Mobile C/C++ 18
2.5 技術(shù)解惑 19
2.5.1 初學(xué)者經(jīng)常不知道自己
該學(xué)什么 19
2.5.2 初學(xué)者需要知道的正確
觀念 19
2.6 課后練習(xí) 19
第3章 C++語(yǔ)言開發(fā)基礎(chǔ) 20
3.1 面向?qū)ο蟆?1
3.1.1 兩種對(duì)象的產(chǎn)生方式 21
3.1.2 C++面向?qū)ο缶幊痰?流程 21
3.2 C++語(yǔ)言的程序結(jié)構(gòu) 21
3.2.1 初識(shí)C++程序結(jié)構(gòu) 21
3.2.2 看C++程序的文件組織 23
3.3 C++編碼規(guī)范 24
3.3.1 養(yǎng)成良好的風(fēng)格 24
3.3.2 必須使用的注釋 24
3.3.3 代碼也需要化妝 25
3.4 輸入和輸出 26
3.4.1 標(biāo)準(zhǔn)輸入與輸出對(duì)象 27
3.4.2 一個(gè)使用I/O庫(kù)的程序 27
3.4.3 使用using聲明命名空間 29
3.5 算法 30
3.5.1 算法的概念 30
3.5.2 流程圖表示算法 31
3.5.3 計(jì)算機(jī)語(yǔ)言表示算法 32
3.6 技術(shù)解惑 33
3.6.1 C++是面向?qū)ο,C是面
向過程,那么這個(gè)對(duì)象和
過程是什么意思 33
3.6.2 面向?qū)ο蠛兔嫦蜻^程的
區(qū)別 33
3.6.3 學(xué)好C++的建議 34
3.7 課后練習(xí) 34
第4章 C++語(yǔ)言的基礎(chǔ)語(yǔ)法 35
4.1 標(biāo)識(shí)符 36
4.1.1 C++中的保留字 36
4.1.2 標(biāo)識(shí)符的命名規(guī)則 36
4.2 數(shù)據(jù)類型 38
4.2.1 數(shù)字運(yùn)算型 38
4.2.2 邏輯運(yùn)算型 41
4.2.3 字符型和字符串 42
4.3 標(biāo)準(zhǔn)類型庫(kù) 43
4.3.1 C++標(biāo)準(zhǔn)庫(kù)介紹 43
4.3.2 標(biāo)準(zhǔn)庫(kù)中的主要成員 44
4.4 技術(shù)解惑 45
4.4.1 C++的標(biāo)識(shí)符長(zhǎng)度的
“min-length &&
max-information”原則 45
4.4.2 字符和字符串的區(qū)別 45
4.4.3 C++中string類字符串和
C中char*/char[]型
字符串的差別 45
4.4.4 C++字符串和C字符串的
轉(zhuǎn)換 45
4.4.5 C++字符串和字符串結(jié)束
標(biāo)志 46
4.5 課后練習(xí) 46
第5章 變量和常量 47
5.1 變量 48
5.1.1 定義變量 48
5.1.2 聲明變量 48
5.2 變量的作用域 49
5.2.1 作用域和生存期 49
5.2.2 作用域限定符 51
5.2.3 存儲(chǔ)類型 51
5.2.4 C++變量初始化 53
5.3 常量 54
5.3.1 什么是常量 54
5.3.2 使用常量 55
5.4 使用C++ 11標(biāo)準(zhǔn)處理復(fù)雜的
類型 56
5.4.1 定義類型別名 56
5.4.2 使用auto實(shí)現(xiàn)類型推導(dǎo) 57
5.4.3 使用decltype推導(dǎo)類型 58
5.4.4 使用常量表達(dá)式 59
5.5 技術(shù)解惑 60
5.5.1 C++常量的命名是否需要
遵循一定的規(guī)范 60
5.5.2 在C++程序中用const還是
用#define定義常量 60
5.5.3 const是個(gè)很重要的
關(guān)鍵字,在使用時(shí)應(yīng)該
注意哪些 60
5.5.4 關(guān)于全局變量的初始化,
C語(yǔ)言和C++是否有
區(qū)別 61
5.5.5 C/C++變量在內(nèi)存中的
分布 61
5.5.6 靜態(tài)變量的初始化順序 61
5.6 課后練習(xí) 61
第6章 運(yùn)算符和表達(dá)式 62
6.1 運(yùn)算符和表達(dá)式詳解 63
6.1.1 賦值運(yùn)算符和賦值
表達(dá)式 63
6.1.2 算術(shù)運(yùn)算符和算術(shù)
表達(dá)式 64
6.1.3 比較運(yùn)算符和比較
表達(dá)式 66
6.1.4 邏輯運(yùn)算符和邏輯
表達(dá)式 67
6.1.5 ++/ 運(yùn)算符和表達(dá)式 67
6.1.6 位運(yùn)算符和位表達(dá)式 68
6.1.7 求字節(jié)數(shù)運(yùn)算符和
求字節(jié)表達(dá)式 70
6.1.8 條件運(yùn)算符和條件
表達(dá)式 72
6.1.9 逗號(hào)運(yùn)算符和逗號(hào)
表達(dá)式 72
6.1.10 運(yùn)算符的優(yōu)先級(jí)和
結(jié)合性 73
6.2 類型轉(zhuǎn)換 76
6.2.1 使用隱式轉(zhuǎn)換 76
6.2.2 使用顯式轉(zhuǎn)換 77
6.3 技術(shù)解惑 81
6.3.1 避免運(yùn)算結(jié)果溢出的
一個(gè)方案 81
6.3.2 運(yùn)算符重載的權(quán)衡 81
6.3.3 運(yùn)算符重載是對(duì)已有
運(yùn)算符賦予多重含義 81
6.4 課后練習(xí) 82
第7章 流程控制語(yǔ)句 83
7.1 語(yǔ)句和語(yǔ)句塊 84
7.1.1 最簡(jiǎn)單的語(yǔ)句 84
7.1.2 語(yǔ)句塊 84
7.2 順序結(jié)構(gòu) 86
7.3 選擇結(jié)構(gòu) 86
7.3.1 單分支結(jié)構(gòu)語(yǔ)句 87
7.3.2 雙分支結(jié)構(gòu)語(yǔ)句 87
7.3.3 使用多分支結(jié)構(gòu)語(yǔ)句 90
7.4 循環(huán)結(jié)構(gòu)詳解 91
7.4.1 循環(huán)語(yǔ)句的形式 92
7.4.2 for語(yǔ)句循環(huán) 92
7.4.3 使用while語(yǔ)句 94
7.4.4 使用do-while語(yǔ)句 95
7.5 使用跳轉(zhuǎn)語(yǔ)句 96
7.5.1 使用break語(yǔ)句 96
7.5.2 使用continue語(yǔ)句 97
7.5.3 使用goto語(yǔ)句 97
7.6 C++ 11新規(guī)范:基于范圍的
for循環(huán)語(yǔ)句 98
7.7 技術(shù)解惑 99
7.7.1 循環(huán)中斷的問題 99
7.7.2 分析循環(huán)語(yǔ)句的效率 100
7.7.3 幾種循環(huán)語(yǔ)句的比較 100
7.7.4 C++中的for循環(huán)該
怎么讀 100
7.7.5 一個(gè)C++循環(huán)結(jié)構(gòu)
嵌套的問題 100
7.7.6 break語(yǔ)句和continue
語(yǔ)句的區(qū)別 101
7.8 課后練習(xí) 101
第8章 指針 102
8.1 指針的基本概念 103
8.2 定義指針 103
8.2.1 定義指針的方式 103
8.2.2 識(shí)別指針 104
8.2.3 指針的分類 104
8.3 指針的初始化 105
8.3.1 指針初始化時(shí)的類型 106
8.3.2 指針地址初始化 106
8.3.3 變量地址初始化 106
8.3.4 使用new分配內(nèi)存單元 107
8.3.5 使用函數(shù)malloc分配
內(nèi)存單元 107
8.4 指針運(yùn)算 108
8.4.1 算術(shù)運(yùn)算 108
8.4.2 關(guān)系運(yùn)算 110
8.5 指針的指針 112
8.6 使用指針 113
8.6.1 指針賦值 114
8.6.2 使用“*”操作符 114
8.7 分析指針和引用的關(guān)系 115
8.8 特殊指針 117
8.8.1 void型指針 118
8.8.2 空指針 119
8.8.3 C++ 11:使用nullptr
得到空指針 120
8.9 C++ 11:使用標(biāo)準(zhǔn)庫(kù)函數(shù)
begin和end 120
8.10 技術(shù)解惑 121
8.10.1 指針的命名規(guī)范 121
8.10.2 指針和引用的區(qū)別 122
8.10.3 變量的實(shí)質(zhì) 123
8.10.4 避免和解決野指針 123
8.10.5 常量指針常量和常量
引用常量 125
8.10.6 指針常量和引用常量的
對(duì)比 125
8.10.7 常量指針和常量引用的
對(duì)比 125
8.11 課后練習(xí) 126
第9章 數(shù)組、枚舉、結(jié)構(gòu)體和聯(lián)合 127
9.1 使用數(shù)組 128
9.1.1 定義數(shù)組 128
9.1.2 高級(jí)數(shù)組 129
9.1.3 分析數(shù)組的完整性 130
9.2 動(dòng)態(tài)數(shù)組 131
9.2.1 在堆上分配空間的
動(dòng)態(tài)數(shù)組 131
9.2.2 在棧上分配空間的
“假動(dòng)態(tài)”數(shù)組 132
9.3 字符數(shù)組 133
9.3.1 定義字符數(shù)組 133
9.3.2 字符數(shù)組和字符串指針
變量 134
9.4 數(shù)組初始化 135
9.4.1 定義時(shí)的初始化 135
9.4.2 初始化賦值語(yǔ)句 136
9.5 指針和數(shù)組 137
9.5.1 基本原理 137
9.5.2 指向數(shù)組的指針 137
9.5.3 指針數(shù)組 138
9.6 枚舉 139
9.6.1 枚舉基礎(chǔ) 139
9.6.2 使用枚舉 140
9.7 結(jié)構(gòu)體 141
9.7.1 定義結(jié)構(gòu)體 142
9.7.2 指向結(jié)構(gòu)體的指針 142
9.7.3 使用結(jié)構(gòu)體 143
9.8 聯(lián)合 144
9.9 C++ 11新特性:數(shù)組的
替代品——array 145
9.10 技術(shù)解惑 146
9.10.1 字符數(shù)組和字符串的
區(qū)別 146
9.10.2 字符數(shù)組和字符串可以
相互轉(zhuǎn)換 147
9.10.3 靜態(tài)數(shù)組的速度快于
動(dòng)態(tài)數(shù)組 147
9.10.4 Arrays與Vector的
區(qū)別 147
9.10.5 一道關(guān)于數(shù)組的
面試題 147
9.10.6 數(shù)組名不是指針 149
9.10.7 作為一個(gè)用戶自定義
類型,其所占用內(nèi)存
空間是多少 149
9.11 課后練習(xí) 150
第 10章 函數(shù) 151
10.1 函數(shù)基礎(chǔ) 152
10.1.1 定義函數(shù) 152
10.1.2 函數(shù)分類 153
10.2 參數(shù)和返回值 158
10.2.1 什么是形參實(shí)參 158
10.2.2 使用數(shù)組作函數(shù)
參數(shù) 159
10.3 調(diào)用函數(shù) 160
10.3.1 單獨(dú)調(diào)用 160
10.3.2 函數(shù)表達(dá)式 160
10.3.3 調(diào)用實(shí)參 161
10.3.4 參數(shù)傳遞 161
10.4 函數(shù)的基本操作 162
10.4.1 函數(shù)遞歸 162
10.4.2 指向函數(shù)的指針 163
10.4.3 將函數(shù)作為參數(shù) 164
10.5 技術(shù)解惑 165
10.5.1 用typedef定義一個(gè)函數(shù)
指針類型 165
10.5.2 const關(guān)鍵字在函數(shù)中的
作用 166
10.5.3 C++函數(shù)的內(nèi)存分配
機(jī)制 167
10.5.4 主函數(shù)和子函數(shù)的
關(guān)系 167
10.5.5 函數(shù)聲明和函數(shù)定義的
區(qū)別 168
10.5.6 使用全局變量的
注意事項(xiàng) 168
10.5.7 使用寄存器變量的
注意事項(xiàng) 168
10.5.8 自動(dòng)變量的特點(diǎn) 169
10.6 課后練習(xí) 169
第 11章 輸入和輸出 170
11.1 使用iostream對(duì)象 171
11.1.1 庫(kù)iostream的作用 171
11.1.2 標(biāo)準(zhǔn)的I/O接口 171
11.1.3 文件I/O 173
11.1.4 字符串I/O 174
11.2 輸出 175
11.2.1 預(yù)定義類型輸出 175
11.2.2 自定義類型輸出 176
11.3 輸入 177
11.3.1 預(yù)定義類型輸入 177
11.3.2 自定義類型輸入 177
11.4 輸入/輸出的格式化 178
11.4.1 使用ios類成員函數(shù) 179
11.4.2 使用操縱函數(shù) 180
11.5 文件操作 181
11.5.1 打開和關(guān)閉 181
11.5.2 隨機(jī)讀寫 183
11.5.3 二進(jìn)制文件 184
11.5.4 檢測(cè)EOF 185
11.6 技術(shù)解惑 187
11.6.1 輸入/輸出時(shí)數(shù)的
進(jìn)制問題 187
11.6.2 數(shù)據(jù)間隔 187
11.6.3 內(nèi)存文件映射 188
11.6.4 get和put的值的
差異 188
11.6.5 使用控制符控制輸出
格式 188
11.7 課后練習(xí) 189
第 12章 面向?qū)ο蟮念惡蛯?duì)象 190
12.1 類 191
12.1.1 聲明類 191
12.1.2 類的屬性 192
12.1.3 類的方法 192
12.1.4 構(gòu)造函數(shù) 193
12.1.5 析構(gòu)函數(shù) 194
12.1.6 靜態(tài)成員 195
12.1.7 友元 196
12.1.8 使用修飾符 198
12.2 對(duì)象 199
12.2.1 定義對(duì)象 199
12.2.2 對(duì)象數(shù)組 200
12.2.3 對(duì)象指針 201
12.2.4 使用this指針 201
12.3 C++ 11標(biāo)準(zhǔn)的新變化 203
12.3.1 定義一個(gè)類內(nèi)初始值 203
12.3.2 使用initializer_list
處理多個(gè)實(shí)參 204
12.4 技術(shù)解惑 208
12.4.1 淺復(fù)制和深復(fù)制 208
12.4.2 構(gòu)造函數(shù)的錯(cuò)誤認(rèn)識(shí)和
正確認(rèn)識(shí) 209
12.4.3 保護(hù)性析構(gòu)函數(shù)的
作用 209
12.5 課后練習(xí) 210
第 13章 命名空間和作用域 211
13.1 命名空間基礎(chǔ) 212
13.1.1 命名空間介紹 212
13.1.2 定義命名空間 212
13.2 使用命名空間 214
13.2.1 使用域限定符 214
13.2.2 使用using指令 215
13.2.3 使用using聲明 216
13.2.4 使用別名 216
13.3 作用域 217
13.3.1 與作用域相關(guān)的概念 217
13.3.2 作用域的分類 218
13.4 技術(shù)解惑 220
13.4.1 using指令與using
聲明的比較 220
13.4.2 為什么需要命名空間 220
13.4.3 命名空間的作用 221
13.4.4 C++中頭文件的使用
方法 222
13.5 課后練習(xí) 222
第 14章 繼承和派生 223
14.1 繼承與派生基礎(chǔ) 224
14.2 C++的繼承機(jī)制 224
14.2.1 定義繼承 224
14.2.2 派生類的繼承方式 226
14.2.3 公有派生和私有派生 227
14.3 派生類 228
14.3.1 使用基類 228
14.3.2 使用派生 228
14.3.3 構(gòu)造函數(shù) 230
14.3.4 析構(gòu)函數(shù) 232
14.3.5 使用同名函數(shù) 233
14.3.6 使用同名屬性 235
14.4 單重繼承和多重繼承 236
14.4.1 單重繼承 236
14.4.2 多重繼承 236
14.4.3 多重繼承下的構(gòu)造
函數(shù)和析構(gòu)函數(shù) 237
14.5 虛繼承和虛基類 239
14.5.1 虛基類介紹 240
14.5.2 使用虛基類 240
14.6 技術(shù)解惑 241
14.6.1 通過虛繼承解決二義性
問題 241
14.6.2 使用C++虛基類的
注意事項(xiàng) 242
14.6.3 虛基類的子對(duì)象的
初始化 243
14.6.4 允許派生類中的成員名與
基類中的成員名相同 243
14.7 課后練習(xí) 243
第 15章 多態(tài) 244
15.1 什么是多態(tài) 245
15.2 宏多態(tài) 245
15.3 虛函數(shù) 246
15.3.1 虛函數(shù)基礎(chǔ) 246
15.3.2 純虛函數(shù) 248
15.4 抽象類 249
15.4.1 什么是抽象類 249
15.4.2 抽象類的派生 249
15.5 運(yùn)算符重載和函數(shù)重載 251
15.5.1 運(yùn)算符重載基礎(chǔ) 251
15.5.2 重載一元運(yùn)算符 251
15.5.3 重載二元運(yùn)算符 252
15.5.4 參數(shù)類型不同的重載 253
15.6 流的重載 254
15.6.1 流插入重載 254
15.6.2 流提取重載 255
15.7 覆蓋 257
15.7.1 覆蓋函數(shù) 257
15.7.2 覆蓋變量 258
15.8 技術(shù)解惑 259
15.8.1 重載、覆蓋和隱藏的
區(qū)別 259
15.8.2 在重載運(yùn)算符時(shí)要權(quán)衡
實(shí)施的必要性 260
15.8.3 為什么需要函數(shù)重載 260
15.8.4 重載函數(shù)的調(diào)用匹配 260
15.8.5 另一種虛方法查找
方案 261
15.8.6 兩種重載方法的比較 262
15.9 課后練習(xí) 262
第 16章 使用模板 263
16.1 模板基礎(chǔ) 264
16.2 類模板 265
16.2.1 什么是類模板 265
16.2.2 定義類模板 265
16.2.3 使用類模板 266
16.2.4 類模板的派生 268
16.2.5 類模板和模板類的
區(qū)別 268
16.3 函數(shù)模板 270
16.3.1 定義函數(shù)模板 270
16.3.2 使用函數(shù)模板 271
16.3.3 模板實(shí)例化 271
16.3.4 模板組合 273
16.4 技術(shù)解惑 273
16.4.1 在函數(shù)模板中使用多個(gè)
類型參數(shù)時(shí)要避免類型
參數(shù)的二義性 273
16.4.2 函數(shù)模板和模板函數(shù)的
區(qū)別 274
16.4.3 函數(shù)模板和類模板的
區(qū)別 274
16.4.4 仿函數(shù)的用處 275
16.5 課后練習(xí) 275
第 17章 異常處理 276
17.1 什么是異常處理 277
17.2 C++的異常處理 277
17.2.1 使用throw拋出異常 277
17.2.2 使用raise拋出異!279
17.2.3 使用try catch異常
捕獲 279
17.2.4 異常處理中的構(gòu)造和
析構(gòu) 281
17.3 C++的異常處理總結(jié) 282
17.4 技術(shù)解惑 284
17.4.1 編寫軟件的目標(biāo) 284
17.4.2 關(guān)于C++關(guān)鍵字new的
異常處理 284
17.4.3 C++語(yǔ)言異常處理和
結(jié)構(gòu)化異常處理有
什么區(qū)別 285
17.4.4 C++拋出異常不捕獲,
程序的空間會(huì)釋放嗎 285
17.4.5 throw拋出異常的
特點(diǎn) 286
17.4.6 關(guān)于C++異常處理的
體會(huì) 286
17.4.7 慎用catch(...) 286
17.4.8 慎用繼承體系里的
類作為catch的參數(shù) 287
17.4.9 對(duì)象析構(gòu)函數(shù)被調(diào)用的
3種場(chǎng)合 287
17.4.10 不要在異常處理體系中
寄希望于類型轉(zhuǎn)換 287
17.4.11 是否有C++異常處理
體系捕獲不到的東西 288
17.4.12 set_unexpected函數(shù)的
用處 288
17.4.13 不要讓異常逃離析構(gòu)
函數(shù) 289
17.5 課后練習(xí) 289
第 18章 內(nèi)存管理 290
18.1 內(nèi)存分類 291
18.2 棧內(nèi)存管理 291
18.2.1 申請(qǐng)棧內(nèi)存 291
18.2.2 使用棧內(nèi)存 292
18.2.3 釋放棧內(nèi)存 294
18.2.4 改變內(nèi)存大小 294
18.3 堆內(nèi)存管理 295
18.3.1 申請(qǐng)堆內(nèi)存 295
18.3.2 使用堆內(nèi)存 296
18.3.3 釋放堆內(nèi)存 296
18.3.4 改變內(nèi)存大小 297
18.4 技術(shù)解惑 298
18.4.1 堆和棧的區(qū)別 298
18.4.2 常見的內(nèi)存錯(cuò)誤及其
對(duì)策 299
18.4.3 防止發(fā)生溢出錯(cuò)誤 300
18.5 課后練習(xí) 300
第 19章 預(yù)處理 301
19.1 預(yù)處理基礎(chǔ) 302
19.1.1 什么是預(yù)處理 302
19.1.2 C++中的預(yù)處理 302
19.2 使用宏時(shí)的常見陷阱 308
19.3 技術(shù)解惑 309
19.3.1 預(yù)處理的未來 309
19.3.2 兩者的意義 310
19.3.3 一個(gè)初學(xué)者的問題 310
19.4 課后練習(xí) 310
第 20章 錯(cuò)誤和調(diào)試 311
20.1 什么是錯(cuò)誤 312
20.1.1 Bug的由來 312
20.1.2 程序設(shè)計(jì)方面的解釋 312
20.2 常見的錯(cuò)誤分析 312
20.3 程序調(diào)試常見錯(cuò)誤 317
20.4 C++編程中的調(diào)試技巧 322
20.4.1 調(diào)試標(biāo)記 322
20.4.2 運(yùn)行期間調(diào)試標(biāo)記 322
20.4.3 把變量和表達(dá)式轉(zhuǎn)換成
字符串 323
20.4.4 C++語(yǔ)言的assert() 323
20.5 技術(shù)解惑 323
20.5.1 編寫規(guī)范易懂的代碼 323
20.5.2 編寫安全可靠的代碼 324
20.5.3 Visual C++調(diào)試技術(shù) 326
20.5.4 常見的非語(yǔ)法錯(cuò)誤 328
第 21章 初入江湖——圖書借閱系統(tǒng)的
實(shí)現(xiàn)過程 329
21.1 項(xiàng)目要求 330
21.2 需求分析 330
21.3 系統(tǒng)具體實(shí)現(xiàn) 330
21.3.1 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì) 331
21.3.2 系統(tǒng)主文件rent.cpp 331
21.3.3 菜單處理文件
mainfunction.h 332
21.3.4 函數(shù)定義文件
subfunction.h 332
21.3.5 菜單處理實(shí)現(xiàn)文件
mainfunction.cpp 333
21.3.6 功能函數(shù)實(shí)現(xiàn)文件
subfunction.cpp 337
第 22章 開始闖關(guān)——C++實(shí)現(xiàn)網(wǎng)絡(luò)
應(yīng)用項(xiàng)目 353
22.1 項(xiàng)目要求 354
22.1.1 客戶機(jī)/服務(wù)器模式
介紹 354
22.1.2 客戶機(jī)/服務(wù)器模式的
運(yùn)作流程 355
22.2 實(shí)現(xiàn)原理 355
22.2.1 什么是Winsocket編程
接口 355
22.2.2 Winsocket中的函數(shù) 355
22.3 具體實(shí)現(xiàn) 360
22.3.1 客戶端和服務(wù)器端的
公用文件 360
22.3.2 實(shí)現(xiàn)服務(wù)器端 363
22.3.3 實(shí)現(xiàn)客戶端 364
第 23章 開始闖關(guān)——C++實(shí)現(xiàn)游戲
項(xiàng)目 366
23.1 計(jì)算機(jī)游戲基礎(chǔ) 367
23.1.1 游戲的基本流程 367
23.1.2 游戲元素 367
23.1.3 游戲?qū)哟巍?68
23.2 項(xiàng)目分析 368
23.2.1 游戲的角色 368
23.2.2 游戲界面表現(xiàn) 369
23.3 具體實(shí)現(xiàn) 369
23.3.1 實(shí)現(xiàn)相關(guān)位圖 369
23.3.2 變量與函數(shù) 369
23.3.3 實(shí)現(xiàn)全屏 371
23.3.4 類初始化 371
23.3.5 實(shí)現(xiàn)具體顯示界面 372
23.3.6 信息提示 374
23.3.7 與時(shí)間段相關(guān)的操作 374
23.3.8 鍵盤操作 375
23.3.9 我方發(fā)射子彈 376
23.3.10 敵機(jī)出現(xiàn) 378
23.3.11 敵機(jī)發(fā)射子彈 378
23.3.12 敵機(jī)子彈移動(dòng) 378
23.3.13 火力實(shí)現(xiàn) 379
你還可能感興趣
我要評(píng)論
|