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

C++ PrimerPlus中文版(第6版)

C++ PrimerPlus中文版(第6版)

定 價(jià):¥99.00

作 者: (美)Stephen Prata 著
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: VC++

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787115279460 出版時(shí)間: 2012-06-01 包裝: 平裝
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 952 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  C++是在C語(yǔ)言基礎(chǔ)上開(kāi)發(fā)的一種集面向?qū)ο缶幊?、通用編程和傳統(tǒng)的過(guò)程化編程于一體的編程語(yǔ)言,是C語(yǔ)言的超集。本書(shū)是根據(jù)2003年的ISO/ANSIC++標(biāo)準(zhǔn)編寫(xiě)的。通過(guò)大量短小精悍的程序詳細(xì)而全面地闡述了C++的基本概念和技術(shù)。全書(shū)分為18章和10個(gè)附錄,分別介紹了C++程序的運(yùn)行方式、基本數(shù)據(jù)類(lèi)型、復(fù)合數(shù)據(jù)類(lèi)型、循環(huán)和關(guān)系表達(dá)式、分支語(yǔ)句和邏輯操作符、函數(shù)重載和函數(shù)模板、內(nèi)存模型和名稱(chēng)空間、類(lèi)的設(shè)計(jì)和使用、多態(tài)、虛函數(shù)、動(dòng)態(tài)內(nèi)存分配、繼承、代碼重用、友元、異常處理技術(shù)、string類(lèi)和標(biāo)準(zhǔn)模板庫(kù)、輸入/輸出等內(nèi)容。本書(shū)針對(duì)C++初學(xué)者,從C語(yǔ)言基礎(chǔ)知識(shí)開(kāi)始介紹,然后在此基礎(chǔ)上詳細(xì)闡述C++新增的特性,因此不要求讀者有較多C語(yǔ)言方面的背景知識(shí)。本書(shū)可以作為高等院校C++課程的教材,也可以供初學(xué)者自學(xué)C++時(shí)使用。

作者簡(jiǎn)介

  StephenPrata在美國(guó)加州肯特菲爾得的馬林學(xué)院教授天文、物理和計(jì)算機(jī)科學(xué)。他畢業(yè)于加州理工學(xué)院,在美國(guó)加州大學(xué)伯克利分校獲得博士學(xué)位。他單獨(dú)或與他人合作編寫(xiě)的編程圖書(shū)有十多本,其中《NewC Primer Plus》獲得了計(jì)算機(jī)出版聯(lián)合會(huì)1990年度最佳“How-to”計(jì)算機(jī)圖書(shū)獎(jiǎng),《C++ PrimerPlus》獲得了計(jì)算機(jī)出版聯(lián)合會(huì)1991年度最佳“How-to”計(jì)算機(jī)圖書(shū)獎(jiǎng)提名。

圖書(shū)目錄

第1章  預(yù)備知識(shí) 1
1.1  C++簡(jiǎn)介 2
1.2  C++簡(jiǎn)史 2
1.2.1  C語(yǔ)言 3
1.2.2  C語(yǔ)言編程原理 3
1.2.3  面向?qū)ο缶幊?3
1.2.4  C++和泛型編程 4
1.2.5  C++的起源 4
1.3  可移植性和標(biāo)準(zhǔn) 5
1.3.1  C++的發(fā)展 6
1.3.2  本書(shū)遵循的C++標(biāo)準(zhǔn) 6
1.4  程序創(chuàng)建的技巧 7
1.4.1  創(chuàng)建源代碼文件 7
1.4.2  編譯和鏈接 8
1.5  總結(jié) 11
第2章  開(kāi)始學(xué)習(xí)C++ 13
2.1  進(jìn)入C++ 14
2.1.1  main( )函數(shù) 15
2.1.2  C++注釋 17
2.1.3  C++預(yù)處理器和iostream文件 17
2.1.4  頭文件名 18
2.1.5  名稱(chēng)空間 18
2.1.6  使用cout進(jìn)行C++輸出 19
2.1.7  C++源代碼的格式化 21
2.2  C++語(yǔ)句 22
2.2.1  聲明語(yǔ)句和變量 22
2.2.2  賦值語(yǔ)句 23
2.2.3  cout的新花樣 24
2.3  其他C++語(yǔ)句 24
2.3.1  使用cin 25
2.3.2  使用cout進(jìn)行拼接 25
2.3.3  類(lèi)簡(jiǎn)介 26
2.4  函數(shù) 27
2.4.1  使用有返回值的函數(shù) 27
2.4.2  函數(shù)變體 30
2.4.3  用戶定義的函數(shù) 31
2.4.4  用戶定義的有返回值的函數(shù) 33
2.4.5  在多函數(shù)程序中使用using編譯指令 34
2.5  總結(jié) 35
2.6  復(fù)習(xí)題 35
2.7  編程練習(xí) 36
第3章  處理數(shù)據(jù) 37
3.1  簡(jiǎn)單變量 38
3.1.1  變量名 38
3.1.2  整型 39
3.1.3  整型short、int、long和long long 39
3.1.4  無(wú)符號(hào)類(lèi)型 43
3.1.5  選擇整型類(lèi)型 44
3.1.6  整型字面值 45
3.1.7  C++如何確定常量的類(lèi)型 45
3.1.8  char類(lèi)型:字符和小整數(shù) 46
3.1.9  bool類(lèi)型 51
3.2  const限定符 52
3.3  浮點(diǎn)數(shù) 52
3.3.1  書(shū)寫(xiě)浮點(diǎn)數(shù) 53
3.3.2  浮點(diǎn)類(lèi)型 54
3.3.3  浮點(diǎn)常量 55
3.3.4  浮點(diǎn)數(shù)的優(yōu)缺點(diǎn) 55
3.4  C++算術(shù)運(yùn)算符 55
3.4.1  運(yùn)算符優(yōu)先級(jí)和結(jié)合性 56
3.4.2  除法分支 57
3.4.3  求模運(yùn)算符 57
3.4.4  類(lèi)型轉(zhuǎn)換 58
3.4.5  C++11中的auto聲明 61
3.5  總結(jié) 62
3.6  復(fù)習(xí)題 62
3.7  編程練習(xí) 63
第4章  復(fù)合類(lèi)型 65
4.1  數(shù)組 66
4.1.1  程序說(shuō)明 67
4.1.2  數(shù)組的初始化規(guī)則 68
4.1.3  C++11數(shù)組初始化方法 68
4.2  字符串 69
4.2.1  拼接字符串常量 70
4.2.2  在數(shù)組中使用字符串 70
4.2.3  字符串輸入 71
4.2.4  每次讀取一行字符串輸入 72
4.2.5  混合輸入字符串和數(shù)字 74
4.3  string類(lèi)簡(jiǎn)介 75
4.3.1  C++11字符串初始化 76
4.3.2  賦值、拼接和附加 76
4.3.3  string類(lèi)的其他操作 76
4.3.4  string類(lèi)I/O 77
4.3.5  其他形式的字符串字面值 78
4.4  結(jié)構(gòu)簡(jiǎn)介 79
4.4.1  在程序中使用結(jié)構(gòu) 80
4.4.2  C++11結(jié)構(gòu)初始化 81
4.4.3  結(jié)構(gòu)可以將string類(lèi)作為成員嗎 81
4.4.4  其他結(jié)構(gòu)屬性 82
4.4.5  結(jié)構(gòu)數(shù)組 82
4.4.6  結(jié)構(gòu)中的位字段 83
4.5  共用體 83
4.6  枚舉 84
4.6.1  設(shè)置枚舉量的值 85
4.6.2  枚舉的取值范圍 86
4.7  指針和自由存儲(chǔ)空間 86
4.7.1  聲明和初始化指針 88
4.7.2  指針的危險(xiǎn) 90
4.7.3  指針和數(shù)字 90
4.7.4  使用new來(lái)分配內(nèi)存 90
4.7.5  使用delete釋放內(nèi)存 92
4.7.6  使用new來(lái)創(chuàng)建動(dòng)態(tài)數(shù)組 92
4.8  指針、數(shù)組和指針?biāo)阈g(shù) 94
4.8.1  程序說(shuō)明 94
4.8.2  指針小結(jié) 96
4.8.3  指針和字符串 97
4.8.4  使用new創(chuàng)建動(dòng)態(tài)結(jié)構(gòu) 100
4.8.5  自動(dòng)存儲(chǔ)、靜態(tài)存儲(chǔ)和動(dòng)態(tài)存儲(chǔ) 101
4.9  類(lèi)型組合 103
4.10  數(shù)組的替代品 104
4.10.1  模板類(lèi)vector 104
4.10.2  模板類(lèi)array(C++11) 105
4.10.3  比較數(shù)組、vector對(duì)象和array對(duì)象 105
4.11  總結(jié) 106
4.12  復(fù)習(xí)題 106
4.13  編程練習(xí) 107
第5章  循環(huán)和關(guān)系表達(dá)式 109
5.1  for循環(huán) 110
5.1.1  for循環(huán)的組成部分 110
5.1.2  回到for循環(huán) 114
5.1.3  修改步長(zhǎng) 115
5.1.4  使用for循環(huán)訪問(wèn)字符串 116
5.1.5  遞增運(yùn)算符(++)和遞減運(yùn)算符(--) 116
5.1.6  副作用和順序點(diǎn) 117
5.1.7  前綴格式和后綴格式 117
5.1.8  遞增/遞減運(yùn)算符和指針 118
5.1.9  組合賦值運(yùn)算符 119
5.1.10  復(fù)合語(yǔ)句(語(yǔ)句塊) 119
5.1.11  其他語(yǔ)法技巧——逗號(hào)運(yùn)算符 120
5.1.12  關(guān)系表達(dá)式 121
5.1.13  賦值、比較和可能犯的錯(cuò)誤 122
5.1.14  C-風(fēng)格字符串的比較 123
5.1.15  比較string類(lèi)字符串 125
5.2  while循環(huán) 125
5.2.1  for與while 127
5.3.2  等待一段時(shí)間:編寫(xiě)延時(shí)循環(huán) 128
5.3  do while循環(huán) 129
5.4  基于范圍的for循環(huán)(C++11) 131
5.5  循環(huán)和文本輸入 131
5.5.1  使用原始的cin進(jìn)行輸入 131
5.5.2  使用cin.get(char)進(jìn)行補(bǔ)救 132
5.5.3  使用哪一個(gè)cin.get( ) 132
5.5.4  文件尾條件 133
5.5.5  另一個(gè)cin.get( )版本 135
5.6  嵌套循環(huán)和二維數(shù)組 136
5.6.1  初始化二維數(shù)組 138
5.6.2  使用二維數(shù)組 138
5.7  總結(jié) 139
5.8  復(fù)習(xí)題 139
5.9  編程練習(xí) 140
第6章  分支語(yǔ)句和邏輯運(yùn)算符 143
6.1  if語(yǔ)句 144
6.1.1  if else語(yǔ)句 145
6.1.2  格式化if else語(yǔ)句 146
6.1.3  if else if else結(jié)構(gòu) 146
6.2  邏輯表達(dá)式 147
6.2.1  邏輯OR運(yùn)算符:|| 147
6.2.2  邏輯AND運(yùn)算符:&& 148
6.2.3  用&&來(lái)設(shè)置取值范圍 149
6.2.4  邏輯NOT運(yùn)算符:! 150
6.2.5  邏輯運(yùn)算符細(xì)節(jié) 151
6.2.6  其他表示方式 151
6.3  字符函數(shù)庫(kù)cctype 152
6.4  ?:運(yùn)算符 153
6.5  switch語(yǔ)句 154
6.5.1  將枚舉量用作標(biāo)簽 155
6.5.2  switch和if else 155
6.6  break和continue語(yǔ)句 156
6.7  讀取數(shù)字的循環(huán) 157
6.8  簡(jiǎn)單文件輸入/輸出 159
6.8.1  文本I/O和文本文件 159
6.8.2  寫(xiě)入到文本文件中 160
6.8.3  讀取文本文件 162
6.9  總結(jié) 164
6.10  復(fù)習(xí)題 165
6.11  編程練習(xí) 165
第7章  函數(shù)——C++的編程模塊 169
7.1  復(fù)習(xí)函數(shù)的基本知識(shí) 170
7.1.1  定義函數(shù) 170
7.1.2  函數(shù)原型和函數(shù)調(diào)用 172
7.2  函數(shù)參數(shù)和按值傳遞 174
7.2.1  多個(gè)參數(shù) 175
7.2.2  另外一個(gè)接受兩個(gè)參數(shù)的函數(shù) 176
7.3  函數(shù)和數(shù)組 177
7.3.1  函數(shù)如何使用指針來(lái)處理數(shù)組 178
7.3.2  將數(shù)組作為參數(shù)意味著什么 178
7.3.3  更多數(shù)組函數(shù)示例 180
7.3.4  使用數(shù)組區(qū)間的函數(shù) 182
7.3.5  指針和const 183
7.4  函數(shù)和二維數(shù)組 185
7.5  函數(shù)和C-風(fēng)格字符串 186
7.5.1  將C-風(fēng)格字符串作為參數(shù)的函數(shù) 187
7.5.2  返回c-風(fēng)格字符串的函數(shù) 187
7.6  函數(shù)和結(jié)構(gòu) 188
7.6.1  傳遞和返回結(jié)構(gòu) 188
7.6.2  另一個(gè)處理結(jié)構(gòu)的函數(shù)示例 189
7.6.3  傳遞結(jié)構(gòu)的地址 192
7.7  函數(shù)和string對(duì)象 192
7.8  函數(shù)與array對(duì)象 193
7.9  遞歸 194
7.9.1  包含一個(gè)遞歸調(diào)用的遞歸 194
7.9.2  包含多個(gè)遞歸調(diào)用的遞歸 195
7.10  函數(shù)指針 196
7.10.1  函數(shù)指針的基礎(chǔ)知識(shí) 196
7.10.2  函數(shù)指針示例 197
7.10.3  深入探討函數(shù)指針 198
7.10.4  使用typedef進(jìn)行簡(jiǎn)化 200
7.11  總結(jié) 200
7.12  復(fù)習(xí)題 201
7.13  編程練習(xí) 202
第8章  函數(shù)探幽 205
8.1  C++內(nèi)聯(lián)函數(shù) 206
8.2  引用變量 208
8.2.1  創(chuàng)建引用變量 208
8.2.2  將引用用作函數(shù)參數(shù) 209
8.2.3  引用的屬性和特別之處 211
8.2.4  將引用用于結(jié)構(gòu) 213
8.2.5  將引用用于類(lèi)對(duì)象 217
8.2.6  對(duì)象、繼承和引用 218
8.2.7  何時(shí)使用引用參數(shù) 219
8.3  默認(rèn)參數(shù) 220
8.4  函數(shù)重載 221
8.4.1  重載示例 223
8.4.2  何時(shí)使用函數(shù)重載 224
8.5  函數(shù)模板 224
8.5.1  重載的模板 226
8.5.2  模板的局限性 226
8.5.3  顯式具體化 226
8.5.4  實(shí)例化和具體化 227
8.5.5  編譯器選擇使用哪個(gè)函數(shù)版本 228
8.5.6  模板函數(shù)的發(fā)展 232
8.6  總結(jié) 234
8.7  復(fù)習(xí)題 234
8.8  編程練習(xí) 235
第9章  內(nèi)存模型和名稱(chēng)空間 237
9.1  單獨(dú)編譯 238
9.2  存儲(chǔ)持續(xù)性、作用域和鏈接性 240
9.2.1  作用域和鏈接 241
9.2.2  自動(dòng)存儲(chǔ)持續(xù)性 241
9.2.3  靜態(tài)持續(xù)變量 243
9.2.4  靜態(tài)持續(xù)性、外部鏈接性 245
9.2.5  靜態(tài)持續(xù)性、內(nèi)部鏈接性 247
9.2.6  靜態(tài)存儲(chǔ)持續(xù)性、無(wú)鏈接性 248
9.2.7  說(shuō)明符和限定符 248
9.2.8  函數(shù)和鏈接性 250
9.2.9  語(yǔ)言鏈接性 250
9.2.10  存儲(chǔ)方案和動(dòng)態(tài)分配 251
9.3  名稱(chēng)空間 254
9.3.1  傳統(tǒng)的C++名稱(chēng)空間 254
9.3.2  新的名稱(chēng)空間特性 254
9.3.3  名稱(chēng)空間示例 259
9.3.4  名稱(chēng)空間及其前途 260
9.4  總結(jié) 261
9.5  復(fù)習(xí)題 262
9.6  編程練習(xí) 262
第10章  對(duì)象和類(lèi) 265
10.1  過(guò)程性編程和面向?qū)ο缶幊?266
10.2  抽象和類(lèi) 267
10.2.1  類(lèi)型是什么 267
10.2.2  C++中的類(lèi) 267
10.2.3  實(shí)現(xiàn)類(lèi)成員函數(shù) 270
10.2.4  使用類(lèi) 272
10.2.5  修改實(shí)現(xiàn) 273
10.2.6  小結(jié) 274
10.3  類(lèi)的構(gòu)造函數(shù)和析構(gòu)函數(shù) 274
10.3.1  聲明和定義構(gòu)造函數(shù) 275
10.3.2  使用構(gòu)造函數(shù) 276
10.3.3  默認(rèn)構(gòu)造函數(shù) 276
10.3.4  析構(gòu)函數(shù) 277
10.3.5  改進(jìn)Stock類(lèi) 278
10.3.6  構(gòu)造函數(shù)和析構(gòu)函數(shù)小結(jié) 281
10.4  this指針 282
10.5  對(duì)象數(shù)組 285
10.6  類(lèi)作用域 286
10.6.1  作用域?yàn)轭?lèi)的常量 286
10.6.2  作用域內(nèi)枚舉(C++11) 287
10.7  抽象數(shù)據(jù)類(lèi)型 288
10.8  總結(jié) 289
10.9  復(fù)習(xí)題 289
10.11  編程練習(xí) 290
第11章  使用類(lèi) 293
11.1  運(yùn)算符重載 294
11.2  計(jì)算時(shí)間:一個(gè)運(yùn)算符重載示例 295
11.2.1  添加加法運(yùn)算符 296
11.2.2  重載限制 297
11.2.3  其他重載運(yùn)算符 298
11.3  友元 298
11.3.1  創(chuàng)建友元 300
11.3.2  常用的友元:重載<<運(yùn)算符 300
11.4  重載運(yùn)算符:作為成員函數(shù)還是非成員函數(shù) 304
11.5  再談重載:一個(gè)矢量類(lèi) 304
11.5.1  使用狀態(tài)成員 307
11.5.2  為Vector類(lèi)重載算術(shù)運(yùn)算符 308
11.5.3  對(duì)實(shí)現(xiàn)的說(shuō)明 309
11.5.4  使用Vector類(lèi)來(lái)模擬隨機(jī)漫步 310
11.6  類(lèi)的自動(dòng)轉(zhuǎn)換和強(qiáng)制類(lèi)型轉(zhuǎn)換 311
11.6.1  轉(zhuǎn)換函數(shù) 314
11.6.2  轉(zhuǎn)換函數(shù)和友元函數(shù) 317
11.7  總結(jié) 319
11.8  復(fù)習(xí)題 320
11.9  編程練習(xí) 320
第12章  類(lèi)和動(dòng)態(tài)內(nèi)存分配 323
12.1  動(dòng)態(tài)內(nèi)存和類(lèi) 324
12.1.1  復(fù)習(xí)示例和靜態(tài)類(lèi)成員 324
12.1.2  特殊成員函數(shù) 328
12.1.3  回到Stringbad:復(fù)制構(gòu)造函數(shù)的哪里出了問(wèn)題 330
12.1.4  Stringbad的其他問(wèn)題:賦值運(yùn)算符 333
12.2  改進(jìn)后的新String類(lèi) 334
12.2.1  修訂后的默認(rèn)構(gòu)造函數(shù) 335
12.2.2  比較成員函數(shù) 335
12.2.3  使用中括號(hào)表示法訪問(wèn)字符 336
12.2.4  靜態(tài)類(lèi)成員函數(shù) 337
12.2.5  進(jìn)一步重載賦值運(yùn)算符 338
12.3  在構(gòu)造函數(shù)中使用new時(shí)應(yīng)注意的事項(xiàng) 339
12.3.1  應(yīng)該和不應(yīng)該 339
12.3.2  包含類(lèi)成員的類(lèi)的逐成員復(fù)制 340
12.4  有關(guān)返回對(duì)象的說(shuō)明 340
12.4.1  返回指向const對(duì)象的引用 340
12.4.2  返回指向非const對(duì)象的引用 341
12.4.3  返回對(duì)象 341
12.4.4  返回const對(duì)象 341
12.5  使用指向?qū)ο蟮闹羔?342
12.5.1  再談new和delete 343
12.5.2  指針和對(duì)象小結(jié) 344
12.5.3  再談定位new運(yùn)算符 345
12.6  復(fù)習(xí)各種技術(shù) 346
12.6.1  重載<<運(yùn)算符 346
12.6.2  轉(zhuǎn)換函數(shù) 347
12.6.3  其構(gòu)造函數(shù)使用new的類(lèi) 347
12.7  隊(duì)列模擬 347
12.7.1  隊(duì)列類(lèi) 348
12.7.2  Customer類(lèi) 354
12.7.3  ATM模擬 355
12.8  總結(jié) 356
12.9  復(fù)習(xí)題 357
12.10  編程練習(xí) 357
第13章  類(lèi)繼承 359
13.1  一個(gè)簡(jiǎn)單的基類(lèi) 360
13.1.1  派生一個(gè)類(lèi) 361
13.1.2  構(gòu)造函數(shù):訪問(wèn)權(quán)限的考慮 362
13.1.3  使用派生類(lèi) 364
13.1.4  派生類(lèi)和基類(lèi)之間的特殊關(guān)系 364
13.2  繼承:is-a關(guān)系 366
13.3  多態(tài)公有繼承 367
13.3.1  開(kāi)發(fā)Brass類(lèi)和BrassPlus類(lèi) 367
13.4  靜態(tài)聯(lián)編和動(dòng)態(tài)聯(lián)編 371
13.4.1  指針和引用類(lèi)型的兼容性 371
13.4.2  虛成員函數(shù)和動(dòng)態(tài)聯(lián)編 372
13.4.3  有關(guān)虛函數(shù)注意事項(xiàng) 373
13.5  訪問(wèn)控制:protected 375
13.6  抽象基類(lèi) 375
13.6.1  應(yīng)用ABC概念 377
13.6.2  ABC理念 378
13.7  繼承和動(dòng)態(tài)內(nèi)存分配 378
13.7.1  第一種情況:派生類(lèi)不使用new 378
13.7.2  第二種情況:派生類(lèi)使用new 379
13.7.3  使用動(dòng)態(tài)內(nèi)存分配和友元的繼承示例 380
13.8  類(lèi)設(shè)計(jì)回顧 381
13.8.1  編譯器生成的成員函數(shù) 381
13.8.2  其他的類(lèi)方法 382
13.8.3  公有繼承的考慮因素 384
13.8.4  類(lèi)函數(shù)小結(jié) 386
13.9  總結(jié) 387
13.10  復(fù)習(xí)題 387
13.11  編程練習(xí) 388
第14章  C++中的代碼重用 391
14.1  包含對(duì)象成員的類(lèi) 392
14.1.1  valarray類(lèi)簡(jiǎn)介 392
14.1.2  Student類(lèi)的設(shè)計(jì) 393
14.1.3  Student類(lèi)示例 394
14.2  私有繼承 396
14.2.1  Student類(lèi)示例(新版本) 396
14.2.2  使用包含還是私有繼承 398
14.2.3  保護(hù)繼承 399
14.2.4  使用using重新定義訪問(wèn)權(quán)限 399
14.3  多重繼承 400
14.3.1  有多少Worker 401
14.3.2  哪個(gè)方法 404
14.3.3  MI小結(jié) 406
14.4  類(lèi)模板 407
14.4.1  定義類(lèi)模板 407
14.4.2  使用模板類(lèi) 408
14.4.3  深入探討模板類(lèi) 409
14.4.4  數(shù)組模板示例和非類(lèi)型參數(shù) 411
14.4.5  模板多功能性 411
14.4.6  模板的具體化 413
14.4.7  成員模板 414
14.4.8  將模板用作參數(shù) 415
14.4.9  模板類(lèi)和友元 416
14.4.10  模板別名(C++11) 419
14.5  總結(jié) 419
14.6  復(fù)習(xí)題 421
14.7  編程練習(xí) 421
第15章  友元、異常和其他 425
15.1  友元 426
15.1.1  友元類(lèi) 426
15.1.2  友元成員函數(shù) 427
15.1.3  其他友元關(guān)系 429
15.2  嵌套類(lèi) 429
15.2.1  嵌套類(lèi)和訪問(wèn)權(quán)限 430
15.2.2  模板中的嵌套 431
15.3  異常 432
15.3.1  調(diào)用abort( ) 432
15.3.2  返回錯(cuò)誤碼 432
15.3.3  異常機(jī)制 433
15.3.4  將對(duì)象用作異常類(lèi)型 435
15.3.4  異常規(guī)范和C++11 436
15.3.5  棧解退 436
15.3.6  其他異常特性 439
15.3.7  exception類(lèi) 440
15.3.8  異常、類(lèi)和繼承 442
15.3.9  異常何時(shí)會(huì)迷失方向 442
15.3.10  有關(guān)異常的注意事項(xiàng) 444
15.4  RTTI 445
15.4.1  RTTI的用途 445
15.4.2  RTTI的工作原理 445
15.5  類(lèi)型轉(zhuǎn)換運(yùn)算符 449
15.6  總結(jié) 451
15.7  復(fù)習(xí)題 451
15.8  編程練習(xí) 452
第16章  string類(lèi)和標(biāo)準(zhǔn)模板庫(kù) 453
16.1  string類(lèi) 454
16.1.1  構(gòu)造字符串 454
16.1.2  string類(lèi)輸入 457
16.1.3  使用字符串 458
16.1.4  string還提供了哪些功能 460
16.1.5  字符串種類(lèi) 461
16.2  智能指針模板類(lèi) 461
16.2.1  使用智能指針 462
16.2.2  有關(guān)智能指針的注意事項(xiàng) 464
16.2.3  unique_ptr為何優(yōu)于auto_ptr 465
16.2.4  選擇智能指針 466
16.3  標(biāo)準(zhǔn)模板庫(kù) 466
16.3.1  模板類(lèi)vector 467
16.3.2  可對(duì)矢量執(zhí)行的操作 467
16.3.3  對(duì)矢量可執(zhí)行的其他操作 469
16.3.4  基于范圍的for循環(huán)(C++11) 471
16.4  泛型編程 471
16.4.1  為何使用迭代器 472
16.4.2  迭代器類(lèi)型 474
16.4.3  迭代器層次結(jié)構(gòu) 475
16.4.4  概念、改進(jìn)和模型 476
16.4.5  容器種類(lèi) 480
16.4.4  關(guān)聯(lián)容器 485
16.4.5  無(wú)序關(guān)聯(lián)容器(C++11) 488
16.5  函數(shù)對(duì)象 488
16.5.1  函數(shù)符概念 489
16.5.2  預(yù)定義的函數(shù)符 490
16.5.3  自適應(yīng)函數(shù)符和函數(shù)適配器 491
16.6  算法 493
16.6.1  算法組 493
16.6.2  算法的通用特征 493
16.6.3  STL和string類(lèi) 494
16.6.4  函數(shù)和容器方法 494
16.6.5  使用STL 495
16.7  其他庫(kù) 496
16.7.1  vector、valarray和array 497
16.7.2  模板initializer_list(C++11) 500
16.7.3  使用initializer_list 500
16.8  總結(jié) 501
16.9  復(fù)習(xí)題 502
16.10  編程練習(xí) 503
第17章  輸入、輸出和文件 505
17.1  C++輸入和輸出概述 506
17.1.1  流和緩沖區(qū) 506
17.1.2  流、緩沖區(qū)和iostream文件 508
17.1.3  重定向 510
17.2  使用cout進(jìn)行輸出 510
17.2.1  重載的<<運(yùn)算符 511
17.2.2  其他ostream方法 512
17.2.3  刷新輸出緩沖區(qū) 514
17.2.4  用cout進(jìn)行格式化 515
17.3  使用cin進(jìn)行輸入 522
17.3.1  cin>>如何檢查輸入 523
17.3.2  流狀態(tài) 524
17.3.3  其他istream類(lèi)方法 527
17.3.4  其他istream方法 530
17.4  文件輸入和輸出 532
17.4.1  簡(jiǎn)單的文件I/O 532
17.4.2  流狀態(tài)檢查和is_open( ) 534
17.4.3  打開(kāi)多個(gè)文件 534
17.4.3  命令行處理技術(shù) 535
17.4.5  文件模式 536
17.4.6  隨機(jī)存取 540
17.5  內(nèi)核格式化 543
17.6  總結(jié) 544
17.7  復(fù)習(xí)題 545
17.8  編程練習(xí) 546
第18章  探討C++新標(biāo)準(zhǔn) 549
18.1  復(fù)習(xí)前面介紹過(guò)的C++11功能 550
18.1.1  新類(lèi)型 550
18.8.2  統(tǒng)一的初始化 550
18.1.3  聲明 551
18.1.4  智能指針 552
18.1.5  異常規(guī)范方面的修改 552
18.1.6  作用域內(nèi)枚舉 553
18.1.7  對(duì)類(lèi)的修改 553
18.1.8  模板和STL方面的修改 554
18.1.9  右值引用 555
18.2  移動(dòng)語(yǔ)義和右值引用 555
18.2.1  為何需要移動(dòng)語(yǔ)義 555
18.2.2  一個(gè)移動(dòng)示例 556
18.2.3  移動(dòng)構(gòu)造函數(shù)解析 557
18.2.4  賦值 558
18.2.5  強(qiáng)制移動(dòng) 558
18.3  新的類(lèi)功能 559
18.3.1  特殊的成員函數(shù) 559
18.3.2  默認(rèn)的方法和禁用的方法 559
18.3.3  委托構(gòu)造函數(shù) 560
18.3.4  繼承構(gòu)造函數(shù) 560
18.3.5  管理虛方法:override和final 561
18.4  Lambda函數(shù) 561
18.4.1  比較函數(shù)指針、函數(shù)符和Lambda函數(shù) 562
18.4.2  為何使用lambda 563
18.5  包裝器 564
18.5.1  包裝器function及模板的低效性 565
18.5.2  修復(fù)問(wèn)題 566
18.5.3  其他方式 566
18.6  可變參數(shù)模板 567
18.6.1  模板和函數(shù)參數(shù)包 567
18.6.2  展開(kāi)參數(shù)包 568
18.6.3  在可變參數(shù)模板函數(shù)中使用遞歸 568
18.7  C++11新增的其他功能 570
18.7.1  并行編程 570
18.7.2  新增的庫(kù) 570
18.7.3  低級(jí)編程 570
18.7.4  雜項(xiàng) 571
18.8  語(yǔ)言變化 571
18.8.1  Boost項(xiàng)目 571
18.8.2  TR1 572
18.8.3  使用Boost 572
18.9  接下來(lái)的任務(wù) 572
18.10  總結(jié) 573
18.11  復(fù)習(xí)題 573
18.12  編程練習(xí) 574
附錄A  計(jì)數(shù)系統(tǒng) 575
A.1  十進(jìn)制數(shù) 576
A.2  八進(jìn)制整數(shù) 576
A.3  十六進(jìn)制數(shù) 576
A.4  二進(jìn)制數(shù) 577
A.5  二進(jìn)制和十六進(jìn)制 577
附錄B  C++保留字 579
B.1  C++關(guān)鍵字 580
B.2  替代標(biāo)記 580
B.3  C++庫(kù)保留名稱(chēng) 580
B.4  有特殊含義的標(biāo)識(shí)符 581
附錄C  ASCII字符集 583
附錄D  運(yùn)算符優(yōu)先級(jí) 589
附錄E  其他運(yùn)算符 593
E.1  按位運(yùn)算符 594
E.1.1  移位運(yùn)算符 594
E.1.2  邏輯按位運(yùn)算符 595
E.1.3  按位運(yùn)算符的替代表示 597
E.1.4  幾種常用的按位運(yùn)算符技術(shù) 598
E.2  成員解除引用運(yùn)算符 599
E.3  alignof(C++11) 600
E.4  noexcept(C++11) 601
附錄F  模板類(lèi)string 603
F.1  13種類(lèi)型和一個(gè)常量 604
F.2  數(shù)據(jù)信息、構(gòu)造函數(shù)及其他 605
F.2.1  默認(rèn)構(gòu)造函數(shù) 606
F.2.2  使用C-風(fēng)格字符串的構(gòu)造函數(shù) 607
F.2.3  使用部分C-風(fēng)格字符串的構(gòu)造函數(shù) 607
F.2.4  使用左值引用的構(gòu)造函數(shù) 607
F.2.5  使用右值引用的構(gòu)造函數(shù)(C++11) 608
F.2.6  使用一個(gè)字符的n個(gè)副本的構(gòu)造函數(shù) 609
F.2.7  使用區(qū)間的構(gòu)造函數(shù) 609
F.2.8  使用初始化列表的構(gòu)造函數(shù)(C++11) 609
F.2.9  內(nèi)存雜記 610
F.3  字符串存取 610
F.4  基本賦值 611
F.5  字符串搜索 611
F.5.1  find( )系列 611
F.5.2  rfind( )系列 612
F.5.3  find_first_of( )系列 612
F.5.4  find_last_of( )系列 612
F.5.5  find_first_not_of( )系列 612
F.5.6  find_last_not_of( )系列 613
F.6  比較方法和函數(shù) 613
F.7  字符串修改方法 614
F.7.1  用于追加和相加的方法 614
F.7.2  其他賦值方法 614
F.7.3  插入方法 614
F.7.4  清除方法 615
F.7.5  替換方法 615
F.7.6  其他修改方法:copy( )和swap( ) 615
F.8  輸出和輸入 616
附錄G  標(biāo)準(zhǔn)模板庫(kù)方法和函數(shù) 617
G.1  STL和C++11 618
G.1.1  新增的容器 618
G.1.2  對(duì)C++98容器所做的修改 618
G.2  大部分容器都有的成員 619
G.3  序列容器的其他成員 621
G.4  set和map的其他操作 623
G.4  無(wú)序關(guān)聯(lián)容器(C++11) 625
G.5  STL函數(shù) 626
G.5.1  非修改式序列操作 626
G.5.2  修改式序列操作 629
G.5.3  排序和相關(guān)操作 635
G.5.4  數(shù)值運(yùn)算 642
附錄H  精選讀物和網(wǎng)上資源 645
H.1  精選讀物 646
H.2  網(wǎng)上資源 647
附錄I  轉(zhuǎn)換為ISO標(biāo)準(zhǔn)C++ 649
I.1  使用一些預(yù)處理器編譯指令的替代品 650
I.1.1  使用const而不是#define來(lái)定義常量 650
I.1.2  使用inline而不是# define來(lái)定義小型函數(shù) 651
I.2  使用函數(shù)原型 651
I.3  使用類(lèi)型轉(zhuǎn)換 652
I.4  熟悉C++特性 652
I.5  使用新的頭文件 652
I.6  使用名稱(chēng)空間 652
I.7  使用智能指針 653
I.8  使用string類(lèi) 653
I.9  使用STL 654
附錄J  復(fù)習(xí)題答案 655
第2章復(fù)習(xí)題答案 656
第3章復(fù)習(xí)題答案 656
第4章復(fù)習(xí)題答案 657
第5章復(fù)習(xí)題答案 658
第6章復(fù)習(xí)題答案 659
第7章復(fù)習(xí)題答案 660
第8章復(fù)習(xí)題答案 661
第9章復(fù)習(xí)題答案 662
第10章復(fù)習(xí)題答案 662
第11章復(fù)習(xí)題答案 663
第12章復(fù)習(xí)題答案 664
第13章復(fù)習(xí)題答案 665
第14章復(fù)習(xí)題答案 665
第15章復(fù)習(xí)題答案 666
第16章復(fù)習(xí)題答案 667
第17章復(fù)習(xí)題答案 667
第18章復(fù)習(xí)題答案 668

本目錄推薦

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