對于想學(xué)習(xí)C++的同學(xué)來說,《C++ Primer Plus》是很多老師和同學(xué)都極力推薦的一本教材。這本書面世幾十年來經(jīng)久不衰,如今已經(jīng)更新到第六版。豆瓣評分也達(dá)到了8.6分。
介紹
給大家?guī)淼囊黄P(guān)于C++編程入門相關(guān)的電子書資源,介紹了關(guān)于C++、Primer方面的內(nèi)容,本書是由人民郵電出版社出版,格式為PDF,資源大小162.4 MB,Stephen編寫,目前豆瓣、亞馬遜、當(dāng)當(dāng)、京東等電子書綜合評分為:8.4。
內(nèi)容特色
計(jì)算機(jī)領(lǐng)域一部偉大的書籍。書中對于類的關(guān)系,類的繼承,重載和多態(tài)等重要的C++語法講解的非常透徹,如果精讀本書可以對C++有更深的了解。書中每一個(gè)語法點(diǎn)都配有非常精妙的例子代碼,每一章的例子都是環(huán)環(huán)相扣,循序漸進(jìn),有時(shí)候可以不看一節(jié)的文字,單單看一個(gè)代碼和運(yùn)行結(jié)果就能理解這一節(jié)的語法點(diǎn)?梢钥闯觯髡邔τ诶哟a是經(jīng)過仔細(xì)的編排和嚴(yán)格的測試的。
書中所用表達(dá)方式和程序的風(fēng)格讓讓人感覺到作者的踏實(shí)。和C++語言界朝著沉醉于奇淫技巧的方向發(fā)展。C++社區(qū)的日漸松散。作者給C++帶來了樸實(shí)的春風(fēng),讓人感覺清爽。
書中的涵蓋了C++大部分知識點(diǎn),并且嚴(yán)格符合C++的標(biāo)準(zhǔn)。計(jì)算沒有詳細(xì)講解的知識,也列出了參考書目和概念。我想這本書應(yīng)該是那種要讓人不停復(fù)習(xí),不停翻看的書。
這本書編排通俗易懂,適合初學(xué)使用,當(dāng)然也適合反復(fù)復(fù)習(xí)翻看。
讀者評價(jià)
非常好用的書籍,我之前買過一本c,這次買的c++,這套書籍真的非常詳細(xì),非常不錯。
內(nèi)容沒得說,但不知是不是配色的問題,封面看起來有些泛黃,但瑕不掩瑜。畢竟經(jīng)典之作,在c++11方面的更新也算是一大亮點(diǎn),對初學(xué)者入門和作為工具書案頭常備還是非常推薦的
很適合初學(xué)者的C++書籍,案例經(jīng)典,我覺得有希望跨專業(yè)自修完C++,打call
今晚,終于把這本厚重的書從頭到尾的讀了一遍,將近170萬字的書~~沒讀之前,我認(rèn)為今天是個(gè)有成就感的日子,因?yàn)槲野堰@么厚重的書看了,從小到大,還沒有看過這么厚的呢。但我現(xiàn)在,并沒有任何成就感,因?yàn)槲腋杏X到,這本書的讀完,僅僅是我C++之路的開始,后面的路程很長,或許我并不…
目錄
第1章 預(yù)備知識 1
1.1 C 簡介 1
1.2 C 簡史 2
1.2.1 C語言 2
1.2.2 C語言編程原理 2
1.2.3 面向?qū)ο缶幊獭?
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 本書遵循的C 標(biāo)準(zhǔn) 6
1.4 程序創(chuàng)建的技巧 6
1.4.1 創(chuàng)建源代碼文件 7
1.4.2 編譯和鏈接 8
1.5 總結(jié) 10
第2章 開始學(xué)習(xí)C 12
2.1 進(jìn)入C 12
2.1.1 main()函數(shù) 13
2.1.2 C 注釋 15
2.1.3 C 預(yù)處理器和iostream文件 16
2.1.4 頭文件名 16
2.1.5 名稱空間 17
2.1.6 使用cout進(jìn)行C 輸出 18
2.1.7 C 源代碼的格式化 19
2.2 C 語句 21
2.2.1 聲明語句和變量 21
2.2.2 賦值語句 22
2.2.3 cout的新花樣 23
2.3 其他C 語句 23
2.3.1 使用cin 24
2.3.2 使用cout進(jìn)行拼接 24
2.3.3 類簡介 25
2.4 函數(shù) 26
2.4.1 使用有返回值的函數(shù) 26
2.4.2 函數(shù)變體 29
2.4.3 用戶定義的函數(shù) 29
2.4.4 用戶定義的有返回值的函數(shù) 32
2.4.5 在多函數(shù)程序中使用using編譯指令 33
2.5 總結(jié) 34
2.6 復(fù)習(xí)題 35
2.7 編程練習(xí) 35
第3章 處理數(shù)據(jù) 37
3.1 簡單變量 37
3.1.1 變量名 38
3.1.2 整型 39
3.1.3 整型short、int、long和long long 39
3.1.4 無符號類型 43
3.1.5 選擇整型類型 45
3.1.6 整型字面值 45
3.1.7 C 如何確定常量的類型 47
3.1.8 char類型:字符和小整數(shù) 47
3.1.9 bool類型 53
3.2 const限定符 54
3.3 浮點(diǎn)數(shù) 55
3.3.1 書寫浮點(diǎn)數(shù) 55
3.3.2 浮點(diǎn)類型 56
3.3.3 浮點(diǎn)常量 58
3.3.4 浮點(diǎn)數(shù)的優(yōu)缺點(diǎn) 58
3.4 C 算術(shù)運(yùn)算符 59
3.4.1 運(yùn)算符優(yōu)先級和結(jié)合性 60
3.4.2 除法分支 60
3.4.3 求模運(yùn)算符 61
3.4.4 類型轉(zhuǎn)換 62
3.4.5 C 11中的auto聲明 66
3.5 總結(jié) 67
3.6 復(fù)習(xí)題 67
3.7 編程練習(xí) 68
第4章 復(fù)合類型 70
4.1 數(shù)組 70
4.1.1 程序說明 72
4.1.2 數(shù)組的初始化規(guī)則 73
4.1.3 C 11數(shù)組初始化方法 73
4.2 字符串 74
4.2.1 拼接字符串常量 75
4.2.2 在數(shù)組中使用字符串 76
4.2.3 字符串輸入 77
4.2.4 每次讀取一行字符串輸入 78
4.2.5 混合輸入字符串和數(shù)字 81
4.3 string類簡介 82
4.3.1 C 11字符串初始化 83
4.3.2 賦值、拼接和附加 83
4.3.3 string類的其他操作 84
4.3.4 string類I/O 86
4.3.5 其他形式的字符串字面值 87
4.4 結(jié)構(gòu)簡介 88
4.4.1 在程序中使用結(jié)構(gòu) 89
4.4.2 C 11結(jié)構(gòu)初始化 91
4.4.3 結(jié)構(gòu)可以將string類作為成員嗎 91
4.4.4 其他結(jié)構(gòu)屬性 91
4.4.5 結(jié)構(gòu)數(shù)組 93
4.4.6 結(jié)構(gòu)中的位字段 94
4.5 共用體 94
4.6 枚舉 95
4.6.1 設(shè)置枚舉量的值 97
4.6.2 枚舉的取值范圍 97
4.7 指針和自由存儲空間 97
4.7.1 聲明和初始化指針 100
4.7.2 指針的危險(xiǎn) 101
4.7.3 指針和數(shù)字 102
4.7.4 使用new來分配內(nèi)存 102
4.7.5 使用delete釋放內(nèi)存 104
4.7.6 使用new來創(chuàng)建動態(tài)數(shù)組 104
4.8 指針、數(shù)組和指針?biāo)阈g(shù) 106
4.8.1 程序說明 107
4.8.2 指針小結(jié) 109
4.8.3 指針和字符串 111
4.8.4 使用new創(chuàng)建動態(tài)結(jié)構(gòu) 114
4.8.5 自動存儲、靜態(tài)存儲和動態(tài)存儲 117
4.9 類型組合 118
4.10 數(shù)組的替代品 120
4.10.1 模板類vector 120
4.10.2 模板類array(C 11) 120
4.10.3 比較數(shù)組、vector對象和array對象 120
4.11 總結(jié) 122
4.12 復(fù)習(xí)題 123
4.13 編程練習(xí) 123
第5章 循環(huán)和關(guān)系表達(dá)式 125
5.1 for循環(huán) 125
5.1.1 for循環(huán)的組成部分 126
5.1.2 回到for循環(huán) 131
5.1.3 修改步長 132
5.1.4 使用for循環(huán)訪問字符串 133
5.1.5 遞增運(yùn)算符( )和遞減運(yùn)算符(--) 133
5.1.6 副作用和順序點(diǎn) 134
5.1.7 前綴格式和后綴格式 135
5.1.8 遞增/遞減運(yùn)算符和指針 135
5.1.9 組合賦值運(yùn)算符 136
5.1.10 復(fù)合語句(語句塊) 136
5.1.11 其他語法技巧——逗號運(yùn)算符 138
5.1.12 關(guān)系表達(dá)式 140
5.1.13 賦值、比較和可能犯的錯誤 141
5.1.14 C-風(fēng)格字符串的比較 142
5.1.15 比較string類字符串 144
5.2 while循環(huán) 145
5.2.1 for與while 147
5.2.2 等待一段時(shí)間:編寫延時(shí)循環(huán) 148
5.3 do while循環(huán) 150
5.4 基于范圍的for循環(huán)(C 11) 152
5.5 循環(huán)和文本輸入 152
5.5.1 使用原始的cin進(jìn)行輸入 152
5.5.2 使用cin.get(char)進(jìn)行補(bǔ)救 153
5.5.3 使用哪一個(gè)cin.get() 154
5.5.4 文件尾條件 155
5.5.5 另一個(gè)cin.get()版本 157
5.6 嵌套循環(huán)和二維數(shù)組 159
5.6.1 初始化二維數(shù)組 160
5.6.2 使用二維數(shù)組 160
5.7 總結(jié) 162
5.8 復(fù)習(xí)題 163
5.9 編程練習(xí) 163
第6章 分支語句和邏輯運(yùn)算符 165
6.1 if語句 165
6.1.1 if else語句 167
6.1.2 格式化if else語句 168
6.1.3 if else if else結(jié)構(gòu) 169
6.2 邏輯表達(dá)式 170
6.2.1 邏輯OR運(yùn)算符:|| 171
6.2.2 邏輯AND運(yùn)算符:&& 172
6.2.3 用&&來設(shè)置取值范圍 174
6.2.4 邏輯NOT運(yùn)算符:! 175
6.2.5 邏輯運(yùn)算符細(xì)節(jié) 176
6.2.6 其他表示方式 177
6.3 字符函數(shù)庫cctype 177
6.4 ?:運(yùn)算符 179
6.5 switch語句 180
6.5.1 將枚舉量用作標(biāo)簽 183
6.5.2 switch和if else 184
6.6 break和continue語句 185
6.7 讀取數(shù)字的循環(huán) 187
6.8 簡單文件輸入/輸出 190
6.8.1 文本I/O和文本文件 190
6.8.2 寫入到文本文件中 191
6.8.3 讀取文本文件 194
6.9 總結(jié) 197
6.10 復(fù)習(xí)題 198
6.11 編程練習(xí) 199
第7章 函數(shù)——C 的編程模塊 202
7.1 復(fù)習(xí)函數(shù)的基本知識 202
7.1.1 定義函數(shù) 203
7.1.2 函數(shù)原型和函數(shù)調(diào)用 205
7.2 函數(shù)參數(shù)和按值傳遞 207
7.2.1 多個(gè)參數(shù) 208
7.2.2 另外一個(gè)接受兩個(gè)參數(shù)的函數(shù) 210
7.3 函數(shù)和數(shù)組 212
7.3.1 函數(shù)如何使用指針來處理數(shù)組 213
7.3.2 將數(shù)組作為參數(shù)意味著什么 213
7.3.3 更多數(shù)組函數(shù)示例 215
7.3.4 使用數(shù)組區(qū)間的函數(shù) 220
7.3.5 指針和const 221
7.4 函數(shù)和二維數(shù)組 224
7.5 函數(shù)和C-風(fēng)格字符串 225
7.5.1 將C-風(fēng)格字符串作為參數(shù)的函數(shù) 225
7.5.2 返回C-風(fēng)格字符串的函數(shù) 227
7.6 函數(shù)和結(jié)構(gòu) 228
7.6.1 傳遞和返回結(jié)構(gòu) 228
7.6.2 另一個(gè)處理結(jié)構(gòu)的函數(shù)示例 230
7.6.3 傳遞結(jié)構(gòu)的地址 234
7.7 函數(shù)和string對象 235
7.8 函數(shù)與array對象 236
7.9 遞歸 238
7.9.1 包含一個(gè)遞歸調(diào)用的遞歸 239
7.9.2 包含多個(gè)遞歸調(diào)用的遞歸 240
7.10 函數(shù)指針 241
7.10.1 函數(shù)指針的基礎(chǔ)知識 241
7.10.2 函數(shù)指針示例 243
7.10.3 深入探討函數(shù)指針 244
7.10.4 使用typedef進(jìn)行簡化 248
7.11 總結(jié) 248
7.12 復(fù)習(xí)題 249
7.13 編程練習(xí) 250
第8章 函數(shù)探幽 253
8.1 C 內(nèi)聯(lián)函數(shù) 253
8.2 引用變量 255
8.2.1 創(chuàng)建引用變量 256
8.2.2 將引用用作函數(shù)參數(shù) 258
8.2.3 引用的屬性和特別之處 260
8.2.4 將引用用于結(jié)構(gòu) 263
8.2.5 將引用用于類對象 268
8.2.6 對象、繼承和引用 271
8.2.7 何時(shí)使用引用參數(shù) 274
8.3 默認(rèn)參數(shù) 274
8.4 函數(shù)重載 276
8.4.1 重載示例 278
8.4.2 何時(shí)使用函數(shù)重載 280
8.5 函數(shù)模板 281
8.5.1 重載的模板 283
8.5.2 模板的局限性 285
8.5.3 顯式具體化 285
8.5.4 實(shí)例化和具體化 288
8.5.5 編譯器選擇使用哪個(gè)函數(shù)版本 289
8.5.6 模板函數(shù)的發(fā)展 295
8.6 總結(jié) 297
8.7 復(fù)習(xí)題 297
8.8 編程練習(xí) 298
第9章 內(nèi)存模型和名稱空間 300
9.1 單獨(dú)編譯 300
9.2 存儲持續(xù)性、作用域和鏈接性 304
9.2.1 作用域和鏈接 305
9.2.2 自動存儲持續(xù)性 305
9.2.3 靜態(tài)持續(xù)變量 309
9.2.4 靜態(tài)持續(xù)性、外部鏈接性 310
9.2.5 靜態(tài)持續(xù)性、內(nèi)部鏈接性 313
9.2.6 靜態(tài)存儲持續(xù)性、無鏈接性 315
9.2.7 說明符和限定符 317
9.2.8 函數(shù)和鏈接性 318
9.2.9 語言鏈接性 319
9.2.10 存儲方案和動態(tài)分配 319
9.3 名稱空間 324
9.3.1 傳統(tǒng)的C 名稱空間 324
9.3.2 新的名稱空間特性 325
9.3.3 名稱空間示例 331
9.3.4 名稱空間及其前途 334
9.4 總結(jié) 335
9.5 復(fù)習(xí)題 335
9.6 編程練習(xí) 338
第10章 對象和類 340
10.1 過程性編程和面向?qū)ο缶幊獭?40
10.2 抽象和類 341
10.2.1 類型是什么 341
10.2.2 C 中的類 342
10.2.3 實(shí)現(xiàn)類成員函數(shù) 345
10.2.4 使用類 349
10.2.5 修改實(shí)現(xiàn) 350
10.2.6 小結(jié) 351
10.3 類的構(gòu)造函數(shù)和析構(gòu)函數(shù) 352
10.3.1 聲明和定義構(gòu)造函數(shù) 353
10.3.2 使用構(gòu)造函數(shù) 354
10.3.3 默認(rèn)構(gòu)造函數(shù) 354
10.3.4 析構(gòu)函數(shù) 355
10.3.5 改進(jìn)Stock類 356
10.3.6 構(gòu)造函數(shù)和析構(gòu)函數(shù)小結(jié) 362
10.4 this指針 363
10.5 對象數(shù)組 368
10.6 類作用域 370
10.6.1 作用域?yàn)轭惖某A俊?71
10.6.2 作用域內(nèi)枚舉(C 11) 372
10.7 抽象數(shù)據(jù)類型 373
10.8 總結(jié) 376
10.9 復(fù)習(xí)題 377
10.10 編程練習(xí) 377
第11章 使用類 380
11.1 運(yùn)算符重載 380
11.2 計(jì)算時(shí)間:一個(gè)運(yùn)算符重載示例 381
11.2.1 添加加法運(yùn)算符 384
11.2.2 重載限制 387
11.2.3 其他重載運(yùn)算符 388
11.3 友元 390
11.3.1 創(chuàng)建友元 391
11.3.2 常用的友元:重載<<運(yùn)算符 392
11.4 重載運(yùn)算符:作為成員函數(shù)還是非成員函數(shù) 397
11.5 再談重載:一個(gè)矢量類 398
11.5.1 使用狀態(tài)成員 404
11.5.2 為Vector類重載算術(shù)運(yùn)算符 406
11.5.3 對實(shí)現(xiàn)的說明 408
11.5.4 使用Vector類來模擬隨機(jī)漫步 408
11.6 類的自動轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換 411
11.6.1 轉(zhuǎn)換函數(shù) 415
11.6.2 轉(zhuǎn)換函數(shù)和友元函數(shù) 419
11.7 總結(jié) 421
11.8 復(fù)習(xí)題 422
11.9 編程練習(xí) 422
第12章 類和動態(tài)內(nèi)存分配 425
12.1 動態(tài)內(nèi)存和類 425
12.1.1 復(fù)習(xí)示例和靜態(tài)類成員 425
12.1.2 特殊成員函數(shù) 432
12.1.3 回到Stringbad:復(fù)制構(gòu)造函數(shù)的哪里出了問題 434
12.1.4 Stringbad的其他問題:賦值運(yùn)算符 436
12.2 改進(jìn)后的新String類 437
12.2.1 修訂后的默認(rèn)構(gòu)造函數(shù) 438
12.2.2 比較成員函數(shù) 439
12.2.3 使用中括號表示法訪問字符 439
12.2.4 靜態(tài)類成員函數(shù) 441
12.2.5 進(jìn)一步重載賦值運(yùn)算符 441
12.3 在構(gòu)造函數(shù)中使用new時(shí)應(yīng)注意的事項(xiàng) 446
12.3.1 應(yīng)該和不應(yīng)該 447
12.3.2 包含類成員的類的逐成員復(fù)制 448
12.4 有關(guān)返回對象的說明 449
12.4.1 返回指向const對象的引用 449
12.4.2 返回指向非const對象的引用 449
12.4.3 返回對象 450
12.4.4 返回const對象 450
12.5 使用指向?qū)ο蟮闹羔槨?51
12.5.1 再談new和delete 453
12.5.2 指針和對象小結(jié) 454
12.5.3 再談定位new運(yùn)算符 456
12.6 復(fù)習(xí)各種技術(shù) 459
12.6.1 重載<<運(yùn)算符 459
12.6.2 轉(zhuǎn)換函數(shù) 460
12.6.3 其構(gòu)造函數(shù)使用new的類 460
12.7 隊(duì)列模擬 460
12.7.1 隊(duì)列類 461
12.7.2 Customer類 468
12.7.3 ATM模擬 471
12.8 總結(jié) 475
12.9 復(fù)習(xí)題 476
12.10 編程練習(xí) 477
第13章 類繼承 480
13.1 一個(gè)簡單的基類 481
13.1.1 派生一個(gè)類 482
13.1.2 構(gòu)造函數(shù):訪問權(quán)限的考慮 484
13.1.3 使用派生類 486
13.1.4 派生類和基類之間的特殊關(guān)系 488
13.2 繼承:is-a關(guān)系 489
13.3 多態(tài)公有繼承 490
13.4 靜態(tài)聯(lián)編和動態(tài)聯(lián)編 501
13.4.1 指針和引用類型的兼容性 502
13.4.2 虛成員函數(shù)和動態(tài)聯(lián)編 503
13.4.3 有關(guān)虛函數(shù)注意事項(xiàng) 505
13.5 訪問控制:protected 507
13.6 抽象基類 508
13.6.1 應(yīng)用ABC概念 510
13.6.2 ABC理念 516
13.7 繼承和動態(tài)內(nèi)存分配 516
13.7.1 第一種情況:派生類不使用new 516
13.7.2 第二種情況:派生類使用new 517
13.7.3 使用動態(tài)內(nèi)存分配和友元的繼承示例 519
13.8 類設(shè)計(jì)回顧 523
13.8.1 編譯器生成的成員函數(shù) 523
13.8.2 其他的類方法 524
13.8.3 公有繼承的考慮因素 527
13.8.4 類函數(shù)小結(jié) 530
13.9 總結(jié) 530
13.10 復(fù)習(xí)題 531
13.11 編程練習(xí) 531
第14章 C 中的代碼重用 534
14.1 包含對象成員的類 534
14.1.1 valarray類簡介 535
14.1.2 Student類的設(shè)計(jì) 535
14.1.3 Student類示例 537
14.2 私有繼承 543
14.2.1 Student類示例(新版本) 543
14.2.2 使用包含還是私有繼承 549
14.2.3 保護(hù)繼承 549
14.2.4 使用using重新定義訪問權(quán)限 550
14.3 多重繼承 551
14.3.1 有多少Worker 555
14.3.2 哪個(gè)方法 558
14.3.3 MI小結(jié) 567
14.4 類模板 567
14.4.1 定義類模板 568
14.4.2 使用模板類 570
14.4.3 深入探討模板類 572
14.4.4 數(shù)組模板示例和非類型參數(shù) 577
14.4.5 模板多功能性 578
14.4.6 模板的具體化 582
14.4.7 成員模板 584
14.4.8 將模板用作參數(shù) 586
14.4.9 模板類和友元 588
14.4.10 模板別名(C 11) 593
14.5 總結(jié) 594
14.6 復(fù)習(xí)題 595
14.7 編程練習(xí) 597
第15章 友元、異常和其他 602
15.1 友元 602
15.1.1 友元類 602
15.1.2 友元成員函數(shù) 606
15.1.3 其他友元關(guān)系 609
15.1.4 共同的友元 610
15.2 嵌套類 611
15.2.1 嵌套類和訪問權(quán)限 612
15.2.2 模板中的嵌套 613
15.3 異常 616
15.3.1 調(diào)用abort() 616
15.3.2 返回錯誤碼 617
15.3.3 異常機(jī)制 619
15.3.4 將對象用作異常類型 621
15.3.5 異常規(guī)范和C 11 624
15.3.6 棧解退 625
15.3.7 其他異常特性 629
15.3.8 exception類 631
15.3.9 異常、類和繼承 634
15.3.10 異常何時(shí)會迷失方向 639
15.3.11 有關(guān)異常的注意事項(xiàng) 641
15.4 RTTI 642
15.4.1 RTTI的用途 642
15.4.2 RTTI的工作原理 642
15.5 類型轉(zhuǎn)換運(yùn)算符 649
15.6 總結(jié) 652
15.7 復(fù)習(xí)題 653
15.8 編程練習(xí) 654
第16章 string類和標(biāo)準(zhǔn)模板庫 655
16.1 string類 655
16.1.1 構(gòu)造字符串 655
16.1.2 string類輸入 659
16.1.3 使用字符串 661
16.1.4 string還提供了哪些功能 665
16.1.5 字符串種類 666
16.2 智能指針模板類 667
16.2.1 使用智能指針 668
16.2.2 有關(guān)智能指針的注意事項(xiàng) 670
16.2.3 unique_ptr為何優(yōu)于auto_ptr 672
16.2.4 選擇智能指針 673
16.3 標(biāo)準(zhǔn)模板庫 674
16.3.1 模板類vector 675
16.3.2 可對矢量執(zhí)行的操作 676
16.3.3 對矢量可執(zhí)行的其他操作 680
16.3.4 基于范圍的for循環(huán)(C 11) 684
16.4 泛型編程 684
16.4.1 為何使用迭代器 685
16.4.2 迭代器類型 688
16.4.3 迭代器層次結(jié)構(gòu) 689
16.4.4 概念、改進(jìn)和模型 690
16.4.5 容器種類 695
16.4.4 關(guān)聯(lián)容器 702
16.4.5 無序關(guān)聯(lián)容器(C 11) 707
16.5 函數(shù)對象 707
16.5.1 函數(shù)符概念 707
16.5.2 預(yù)定義的函數(shù)符 710
16.5.3 自適應(yīng)函數(shù)符和函數(shù)適配器 711
16.6 算法 713
16.6.1 算法組 713
16.6.2 算法的通用特征 714
16.6.3 STL和string類 715
16.6.4 函數(shù)和容器方法 716
16.6.5 使用STL 717
16.7 其他庫 720
16.7.1 vector、valarray和array 720
16.7.2 模板initializer_list(C 11) 724
16.7.3 使用initializer_list 725
16.8 總結(jié) 727
16.9 復(fù)習(xí)題 728
16.10 編程練習(xí) 728
第17章 輸入、輸出和文件 731
17.1 C 輸入和輸出概述 731
17.1.1 流和緩沖區(qū) 732
17.1.2 流、緩沖區(qū)和iostream文件 733
17.1.3 重定向 735
17.2 使用cout進(jìn)行輸出 736
17.2.1 重載的<<運(yùn)算符 736
17.2.2 其他ostream方法 738
17.2.3 刷新輸出緩沖區(qū) 740
17.2.4 用cout進(jìn)行格式化 741
17.3 使用cin進(jìn)行輸入 753
17.3.1 cin>>如何檢查輸入 754
17.3.2 流狀態(tài) 756
17.3.3 其他istream類方法 759
17.3.4 其他istream方法 764
17.4 文件輸入和輸出 768
17.4.1 簡單的文件I/O 768
17.4.2 流狀態(tài)檢查和is_open() 770
17.4.3 打開多個(gè)文件 771
17.4.4 命令行處理技術(shù) 772
17.4.5 文件模式 773
17.4.6 隨機(jī)存取 781
17.5 內(nèi)核格式化 788
17.6 總結(jié) 790
17.7 復(fù)習(xí)題 791
17.8 編程練習(xí) 792
第18章 探討C 新標(biāo)準(zhǔn) 795
18.1 復(fù)習(xí)前面介紹過的C 11功能 795
18.1.1 新類型 795
18.8.2 統(tǒng)一的初始化 795
18.1.3 聲明 796
18.1.4 智能指針 798
18.1.5 異常規(guī)范方面的修改 798
18.1.6 作用域內(nèi)枚舉 799
18.1.7 對類的修改 799
18.1.8 模板和STL方面的修改 800
18.1.9 右值引用 801
18.2 移動語義和右值引用 802
18.2.1 為何需要移動語義 802
18.2.2 一個(gè)移動示例 803
18.2.3 移動構(gòu)造函數(shù)解析 808
18.2.4 賦值 809
18.2.5 強(qiáng)制移動 809
18.3 新的類功能 813
18.3.1 特殊的成員函數(shù) 813
18.3.2 默認(rèn)的方法和禁用的方法 814
18.3.3 委托構(gòu)造函數(shù) 815
18.3.4 繼承構(gòu)造函數(shù) 815
18.3.5 管理虛方法:override和final 817
18.4 Lambda函數(shù) 817
18.4.1 比較函數(shù)指針、函數(shù)符和Lambda函數(shù) 818
18.4.2 為何使用lambda 820
18.5 包裝器 822
18.5.1 包裝器function及模板的低效性 823
18.5.2 修復(fù)問題 825
18.5.3 其他方式 826
18.6 可變參數(shù)模板 827
18.6.1 模板和函數(shù)參數(shù)包 827
18.6.2 展開參數(shù)包 828
18.6.3 在可變參數(shù)模板函數(shù)中使用遞歸 828
18.7 C 11新增的其他功能 831
18.7.1 并行編程 831
18.7.2 新增的庫 831
18.7.3 低級編程 832
18.7.4 雜項(xiàng) 832
18.8 語言變化 832
18.8.1 Boost項(xiàng)目 833
18.8.2 TR1 833
18.8.3 使用Boost 833
18.9 接下來的任務(wù) 834
18.10 總結(jié) 834
18.11 復(fù)習(xí)題 835
18.12 編程練習(xí) 838
附錄A 計(jì)數(shù)系統(tǒng) 839
A.1 十進(jìn)制數(shù) 839
A.2 八進(jìn)制整數(shù) 839
A.3 十六進(jìn)制數(shù) 839
A.4 二進(jìn)制數(shù) 840
A.5 二進(jìn)制和十六進(jìn)制 841
附錄B C 保留字 842
B.1 C 關(guān)鍵字 842
B.2 替代標(biāo)記 842
B.3 C 庫保留名稱 843
B.4 有特殊含義的標(biāo)識符 843
附錄C ASCII字符集 845
附錄D 運(yùn)算符優(yōu)先級 849
附錄E 其他運(yùn)算符 852
E.1 按位運(yùn)算符 852
E.1.1 移位運(yùn)算符 852
E.1.2 邏輯按位運(yùn)算符 853
E.1.3 按位運(yùn)算符的替代表示 855
E.1.4 幾種常用的按位運(yùn)算符技術(shù) 856
E.2 成員解除引用運(yùn)算符 857
E.3 alignof(C 11) 860
E.4 noexcept(C 11) 861
附錄F 模板類string 862
F.1 13種類型和一個(gè)常量 862
F.2 數(shù)據(jù)信息、構(gòu)造函數(shù)及其他 863
F.2.1 默認(rèn)構(gòu)造函數(shù) 865
F.2.2 使用C-風(fēng)格字符串的構(gòu)造函數(shù) 865
F.2.3 使用部分C-風(fēng)格字符串的構(gòu)造函數(shù) 865
F.2.4 使用左值引用的構(gòu)造函數(shù) 866
F.2.5 使用右值引用的構(gòu)造函數(shù)(C 11) 866
F.2.6 使用一個(gè)字符的n個(gè)副本的構(gòu)造函數(shù) 867
F.2.7 使用區(qū)間的構(gòu)造函數(shù) 867
F.2.8 使用初始化列表的構(gòu)造函數(shù)(C 11) 868
F.2.9 內(nèi)存雜記 868
F.3 字符串存取 868
F.4 基本賦值 869
F.5 字符串搜索 869
F.5.1 find()系列 870
F.5.2 rfind()系列 870
F.5.3 find_first_of()系列 870
F.5.4 find_last_of()系列 871
F.5.5 find_first_not_of()系列 871
F.5.6 find_last_not_of()系列 871
F.6 比較方法和函數(shù) 872
F.7 字符串修改方法 873
F.7.1 用于追加和相加的方法 873
F.7.2 其他賦值方法 874
F.7.3 插入方法 874
F.7.4 清除方法 875
F.7.5 替換方法 875
F.7.6 其他修改方法:copy()和swap() 876
F.8 輸出和輸入 876
附錄G 標(biāo)準(zhǔn)模板庫方法和函數(shù) 877
G.1 STL和C 11 877
G.1.1 新增的容器 877
G.1.2 對C 98容器所做的修改 877
G.2 大部分容器都有的成員 878
G.3 序列容器的其他成員 881
G.4 set和map的其他操作 883
G.4 無序關(guān)聯(lián)容器(C 11) 884
G.5 STL函數(shù) 886
G.5.1 非修改式序列操作 886
G.5.2 修改式序列操作 890
G.5.3 排序和相關(guān)操作 897
G.5.4 數(shù)值運(yùn)算 907
附錄H 精選讀物和網(wǎng)上資源 909
H.1 精選讀物 909
H.2 網(wǎng)上資源 910
附錄I 轉(zhuǎn)換為ISO標(biāo)準(zhǔn)C 911
I.1 使用一些預(yù)處理器編譯指令的替代品 911
I.1.1 使用const而不是#define來定義常量 911
I.1.2 使用inline而不是#define來定義小型函數(shù) 912
I.2 使用函數(shù)原型 913
I.3 使用類型轉(zhuǎn)換 913
I.4 熟悉C 特性 913
I.5 使用新的頭文件 914
I.6 使用名稱空間 914
I.7 使用智能指針 915
I.8 使用string類 915
I.9 使用STL 915
附錄J 復(fù)習(xí)題答案 916
第2章復(fù)習(xí)題答案 916
第3章復(fù)習(xí)題答案 916
第4章復(fù)習(xí)題答案 917
第5章復(fù)習(xí)題答案 919
第6章復(fù)習(xí)題答案 919
第7章復(fù)習(xí)題答案 920
第8章復(fù)習(xí)題答案 922
第9章復(fù)習(xí)題答案 924
第10章復(fù)習(xí)題答案 925
第11章復(fù)習(xí)題答案 927
第12章復(fù)習(xí)題答案 927
第13章復(fù)習(xí)題答案 929
第14章復(fù)習(xí)題答案 930
第15章復(fù)習(xí)題答案 931
第16章復(fù)習(xí)題答案 932
第17章復(fù)習(xí)題答案 933
第18章復(fù)習(xí)題答案 935
- PC官方版
- 安卓官方手機(jī)版
- IOS官方手機(jī)版