C++ Primer(中文版 第5版)
鏈接:pan.baidu.com/s/1DbGCVS3AfpG_d3hONzhQxw?pwd=ldec?
提取碼:ldec

目錄
第1章 開(kāi)始 1
1.1 編寫(xiě)一個(gè)簡(jiǎn)單的C++程序 2
1.2 初識(shí)輸入輸出 5
1.3 注釋簡(jiǎn)介 8
1.4 控制流 10
1.5 類簡(jiǎn)介 17
1.6 書(shū)店程序 21
小結(jié) 23
術(shù)語(yǔ)表 23
第Ⅰ部分 C++基礎(chǔ) 27
第2章 變量和基本類型 29
2.1 基本內(nèi)置類型 30
2.2 變量 38
2.3 復(fù)合類型 45
2.4 const限定符 53
2.5 處理類型 60
2.6 自定義數(shù)據(jù)結(jié)構(gòu) 64
小結(jié) 69
術(shù)語(yǔ)表 69
第3章 字符串、向量和數(shù)組 73
3.1 命名空間的using聲明 74
3.2 標(biāo)準(zhǔn)庫(kù)類型string 75
3.3 標(biāo)準(zhǔn)庫(kù)類型vector 86
3.4 迭代器介紹 95
3.5 數(shù)組 101
3.6 多維數(shù)組 112
小結(jié) 117
術(shù)語(yǔ)表 117
第4章 表達(dá)式 119
4.1 基礎(chǔ) 120
4.2 算術(shù)運(yùn)算符 124
4.3 邏輯和關(guān)系運(yùn)算符 126
4.4 賦值運(yùn)算符 129
4.5 遞增和遞減運(yùn)算符 131
4.6 成員訪問(wèn)運(yùn)算符 133
4.7 條件運(yùn)算符 134
4.8 位運(yùn)算符 135
4.9 sizeof運(yùn)算符 139
4.10 逗號(hào)運(yùn)算符 140
4.11 類型轉(zhuǎn)換 141
4.12 運(yùn)算符優(yōu)先級(jí)表 147
小結(jié) 149
術(shù)語(yǔ)表 149
第5章 語(yǔ)句 153
5.1 簡(jiǎn)單語(yǔ)句 154
5.2 語(yǔ)句作用域 155
5.3 條件語(yǔ)句 156
5.4 迭代語(yǔ)句 165
5.5 跳轉(zhuǎn)語(yǔ)句 170
5.6 try語(yǔ)句塊和異常處理 172
小結(jié) 178
術(shù)語(yǔ)表 178
第6章 函數(shù) 181
6.1 函數(shù)基礎(chǔ) 182
6.2 參數(shù)傳遞 187
6.3 返回類型和return語(yǔ)句 199
6.4 函數(shù)重載 206
6.5 特殊用途語(yǔ)言特性 211
6.6 函數(shù)匹配 217
6.7 函數(shù)指針 221
小結(jié) 225
術(shù)語(yǔ)表 225
第7章 類 227
7.1 定義抽象數(shù)據(jù)類型 228
7.2 訪問(wèn)控制與封裝 240
7.3 類的其他特性 243
7.4 類的作用域 253
7.5 構(gòu)造函數(shù)再探 257
7.6 類的靜態(tài)成員 268
小結(jié) 273
術(shù)語(yǔ)表 273
第Ⅱ部分 C++標(biāo)準(zhǔn)庫(kù) 275
第8章 IO庫(kù) 277
8.1 IO類 278
8.2 文件輸入輸出 283
8.3 string流 287
小結(jié) 290
術(shù)語(yǔ)表 290
第9章 順序容器 291
9.1 順序容器概述 292
9.2 容器庫(kù)概覽 294
9.3 順序容器操作 305
9.4 vector對(duì)象是如何增長(zhǎng)的 317
9.5 額外的string操作 320
9.6 容器適配器 329
小結(jié) 332
術(shù)語(yǔ)表 332
第10章 泛型算法 335
10.1 概述 336
10.2 初識(shí)泛型算法 338
10.3 定制操作 344
10.4 再探迭代器 357
10.5 泛型算法結(jié)構(gòu) 365
10.6 特定容器算法 369
小結(jié) 371
術(shù)語(yǔ)表 371
第11章 關(guān)聯(lián)容器 373
11.1 使用關(guān)聯(lián)容器 374
11.2 關(guān)聯(lián)容器概述 376
11.3 關(guān)聯(lián)容器操作 381
11.4 無(wú)序容器 394
小結(jié) 397
術(shù)語(yǔ)表 397
第12章 動(dòng)態(tài)內(nèi)存 399
12.1 動(dòng)態(tài)內(nèi)存與智能指針 400
12.2 動(dòng)態(tài)數(shù)組 423
12.3 使用標(biāo)準(zhǔn)庫(kù):文本查詢程序 430
小結(jié) 436
術(shù)語(yǔ)表 436
第Ⅲ部分 類設(shè)計(jì)者的工具 437
第13章 拷貝控制 439
13.1 拷貝、賦值與銷毀 440
13.2 拷貝控制和資源管理 452
13.3 交換操作 457
13.4 拷貝控制示例 460
13.5 動(dòng)態(tài)內(nèi)存管理類 464
13.6 對(duì)象移動(dòng) 470
小結(jié) 486
術(shù)語(yǔ)表 486
第14章 重載運(yùn)算與類型轉(zhuǎn)換 489
14.1 基本概念 490
14.2 輸入和輸出運(yùn)算符 494
14.3 算術(shù)和關(guān)系運(yùn)算符 497
14.4 賦值運(yùn)算符 499
14.5 下標(biāo)運(yùn)算符 501
14.6 遞增和遞減運(yùn)算符 502
14.7 成員訪問(wèn)運(yùn)算符 504
14.8 函數(shù)調(diào)用運(yùn)算符 506
14.9 重載、類型轉(zhuǎn)換與運(yùn)算符 514
小結(jié) 523
術(shù)語(yǔ)表 523
第15章 面向?qū)ο蟪绦蛟O(shè)計(jì) 525
15.1 OOP:概述 526
15.2 定義基類和派生類 527
15.3 虛函數(shù) 536
15.4 抽象基類 540
15.5 訪問(wèn)控制與繼承 542
15.6 繼承中的類作用域 547
15.7 構(gòu)造函數(shù)與拷貝控制 551
15.8 容器與繼承 558
15.9 文本查詢程序再探 562
小結(jié) 575
術(shù)語(yǔ)表 575
第16章 模板與泛型編程 577
16.1 定義模板 578
16.2 模板實(shí)參推斷 600
16.3 重載與模板 614
16.4 可變參數(shù)模板 618
16.5 模板特例化 624
小結(jié) 630
術(shù)語(yǔ)表 630
第Ⅳ部分 高級(jí)主題 633
第17章 標(biāo)準(zhǔn)庫(kù)特殊設(shè)施 635
17.1 tuple類型 636
17.2 bitset類型 640
17.3 正則表達(dá)式 645
17.4 隨機(jī)數(shù) 659
17.5 IO庫(kù)再探 666
小結(jié) 680
術(shù)語(yǔ)表 680
第18章 用于大型程序的工具 683
18.1 異常處理 684
18.2 命名空間 695
18.3 多重繼承與虛繼承 710
小結(jié) 722
術(shù)語(yǔ)表 722
第19章 特殊工具與技術(shù) 725
19.1 控制內(nèi)存分配 726
19.2 運(yùn)行時(shí)類型識(shí)別 730
19.3 枚舉類型 736
19.4 類成員指針 739
19.5 嵌套類 746
19.6 union:一種節(jié)省空間的類 749
19.7 局部類 754
19.8 固有的不可移植的特性 755
小結(jié) 762
術(shù)語(yǔ)表 762
附錄A 標(biāo)準(zhǔn)庫(kù) 765
A.1 標(biāo)準(zhǔn)庫(kù)名字和頭文件 766
A.2 算法概覽 770
A.3 隨機(jī)數(shù) 781
索引 785
查看全部↓
精彩書(shū)摘
7.4.1 名字查找與類的作用域
在目前為止,我們編寫(xiě)的程序中,名字查找( name lookup)(尋找與所用名字最匹配的聲明的過(guò)程)的過(guò)程比較直截了當(dāng): 首先,在名字所在的塊中尋找其聲明語(yǔ)句,只考慮在名字的使用之前出現(xiàn)的聲明。
如果沒(méi)找到,繼續(xù)查找外層作用域。
如果最終沒(méi)有找到匹配的聲明,則程序報(bào)錯(cuò)。
對(duì)于定義在類內(nèi)部的成員函數(shù)來(lái)說(shuō),解析其中名字的方式與上述的查找規(guī)則有所區(qū)別,不過(guò)在當(dāng)前的這個(gè)例子中體現(xiàn)得不太明顯。類的定義分兩步處理:
首先,編譯成員的聲明。
直到類全部可見(jiàn)后才編譯函數(shù)體。
按照這種兩階段的方式處理類可以簡(jiǎn)化類代碼的組織方式。因?yàn)槌蓡T函數(shù)體直到整個(gè)類可見(jiàn)后才會(huì)被處理,所以它能使用類中定義的任何名字。相反,如果函數(shù)的定義和成員的聲明被同時(shí)處理,那么我們將不得不在成員函數(shù)中只使用那些已經(jīng)出現(xiàn)的名字。
用于類成員聲明的名字查找 這種兩階段的處理方式只適用于成員函數(shù)中使用的名字。聲明中使用的名字,包括返回類型或者參數(shù)列表中使用的名字,都必須在使用前確??梢?jiàn)。如果某個(gè)成員的聲明使用了類中尚未出現(xiàn)的名字,則編譯器將會(huì)在定義該類的作用域中繼續(xù)查找。
……
查看全部↓
前言/序言
推薦序
C++11標(biāo)準(zhǔn)公布之后,C++社群出現(xiàn)了久違的熱情,有人甚至叫出“C++的復(fù)興”。指望C++回到20世紀(jì)90年代中期那樣的地位顯然是昧于大勢(shì)的奢望,但是C++經(jīng)歷了這么多年的打磨與起伏,其在工業(yè)界的地位已經(jīng)非常穩(wěn)固,在很多領(lǐng)域里已經(jīng)是不可取代也沒(méi)必要被取代的統(tǒng)治者。新標(biāo)準(zhǔn)的出現(xiàn)能夠大大提升C++開(kāi)發(fā)的效率和質(zhì)量,因此贏得歡呼也是情理之中。在這種氛圍之下,編譯器實(shí)現(xiàn)的速度也令人驚喜。短短兩年時(shí)間,從開(kāi)源的GCC、LLVM到專有的 Visual C++和Intel C++,對(duì)于新標(biāo)準(zhǔn)的追蹤之快,覆蓋之全,與當(dāng)年C++ 98標(biāo)準(zhǔn)頒布之后遲遲不能落地的窘境相比,可謂對(duì)比強(qiáng)烈。當(dāng)年是熱情的開(kāi)發(fā)者反復(fù)敦促?gòu)S商實(shí)現(xiàn)完整標(biāo)準(zhǔn)而不得,為此沮喪無(wú)奈,那種心情,至今記憶猶新。時(shí)過(guò)境遷,今天是編譯器實(shí)現(xiàn)遠(yuǎn)遠(yuǎn)沖在前面,開(kāi)發(fā)者倒是大大地落在了后面?! ?/p>