作者:(美)Stanley B. Lippman Barbara E. Moo Josée LaJoie 著,李師賢 等譯
出版社:人民郵電出版社
出版日期:2006-3-1
ISBN
7115145547
字數:1149000
印次:1
版次:1
紙張:膠版紙
內容提要
本書是久負盛名的C++經典教程,其內容是C++大師Stanley B. Lippman豐富的實踐經驗和C++標准委員會原負責人Josée LajoieC++標准深入理解的完美結合,已經幫助全球無數程序員學會了C++。本版對前一版進行了徹底的修訂,內容經過了重新組織,更加入了C++先驅Barbara E.MooC++教學方面的真知灼見。既顯著改善了可讀性,又充分體現了C++語言的最新進展和當前的業界最佳實踐。書中不但新增大量教學輔助內容,用于強調重要的知識點,提醒常見的錯誤,推薦優秀的編程實踐,給出使用提示,還包含大量來自實戰的示例和習題。
  對C++基本概念和技術全面而且權威的闡述,對現代C++編程風格的強調,使本書成爲C++初學者的最佳指南;對于中高級程序員,本書也是不可或缺的參考書。

編輯推薦
.

目錄
1章 快速入門 1
1.1
編寫簡單的C++程序 2
1.2
初窺輸入/輸出 5
1.2.1
標准輸入與輸出對象 5
1.2.2
一個使用IO庫的程序 5
1.3
關于注釋 8
1.4
控制結構 10
1.4.1
 while語句 10
1.4.2 for
語句 12
1.4.3 if
語句 14
1.4.4
讀入未知數目的輸入 15
1.5
類的簡介 17
1.5.1 Sales_item
17
1.5.2
初窺成員函數 19
1.6 C++
程序 21
小結 22
術語 22
第一部分 基本語言
2章 變量和基本類型 29
2.1
基本內置類型 30
2.1.1
整型 30
2.1.2
浮點型 32
2.2
字面值常量 34
2.3
變量 38
2.3.1
什麽是變量 39
2.3.2
變量名 40
2.3.3
定義對象 42
2.3.4
變量初始化規則 44
2.3.5
聲明和定義 45
2.3.6
名字的作用域 46
2.3.7
在變量使用處定義變量 48
2.4 const
限定符 49
2.5
引用 50
2.6 typedef
名字 53
2.7
枚舉 53
2.8
類類型 54
2.9
編寫自己的頭文件 57
2.9.1
設計自己的頭文件 58
2.9.2
預處理器的簡單介紹 60
小結 62
術語 62
3章 標准庫類型 67
3.1
命名空間的using聲明 68
3.2
標准庫string類型 70
3.2.1 string
對象的定義和初始化 70
3.2.2 String
對象的讀寫 71
3.2.3 string
對象的操作 72
3.2.4 string
對象中字符的處理 76
3.3
標准庫vector類型 78
3.3.1 vector
對象的定義和初始化 79
3.3.2 vector
對象的操作 81
3.4
叠代器簡介 83
3.5
標准庫bitset類型 88
3.5.1 bitset
對象的定義和初始化 88
3.5.2 bitset
對象上的操作 90
小結 92
術語 92
4章 數組和指針 95
4.1
數組 96
4.1.1
數組的定義和初始化 96
4.1.2
數組操作 99
4.2
指針的引入 100
4.2.1
什麽是指針 100
4.2.2
指針的定義和初始化 101
4.2.3
指針操作 104
4.2.4
使用指針訪問數組元素 106
4.2.5
指針和const限定符 110
4.3 C
風格字符串 113
4.3.1
創建動態數組 117
4.3.2
新舊代碼的兼容 120
4.4
多維數組 122
小結 124
術語 125
5章 表達式 127
5.1
算術操作符 129
5.2
關系操作符和邏輯操作符 131
5.3
位操作符 134
5.3.1 bitset
對象或整型值的使用 135
5.3.2
將移位操作符用于IO 137
5.4
賦值操作符 137
5.4.1
賦值操作的右結合性 138
5.4.2
賦值操作具有低優先級 138
5.4.3
複合賦值操作符 139
5.5
自增和自減操作符 140
5.6
箭頭操作符 142
5.7
條件操作符 143
5.8 sizeof
操作符 144
5.9
逗號操作符 145
5.10
複合表達式的求值 145
5.10.1
優先級 145
5.10.2
結合性 146
5.10.3
求值順序 148
5.11 new
delete表達式 150
5.12
類型轉換 154
5.12.1
何時發生隱式類型轉換 154
5.12.2
算術轉換 155
5.12.3
其他隱式轉換 156
5.12.4
顯式轉換 158
5.12.5
何時需要強制類型轉換 158
5.12.6
命名的強制類型轉換 158
5.12.7
舊式強制類型轉換 160
小結 161
術語 162
6章 語句 165
6.1
簡單語句 166
6.2
聲明語句 167
6.3
複合語句(塊) 167
6.4
語句作用域 168
6.5 if
語句 169
6.6 switch
語句 172
6.6.1
使用switch 173
6.6.2 switch
中的控制流 173
6.6.3 default
標號 175
6.6.4 switch
表達式與case標號 176
6.6.5 switch
內部的變量定義 176
6.7 while
語句 177
6.8 for
循環語句 179
6.8.1
省略for語句頭的某些部分 180
6.8.2 for
語句頭中的多個定義 181
6.9 do while
語句 182
6.10 break
語句 183
6.11 continue
語句 184
6.12 goto
語句 185
6.13 try
塊和異常處理 186
6.13.1 throw
表達式 186
6.13.2 try
187
6.13.3
標准異常 189
6.14
使用預處理器進行調試 190
小結 192
術語 192
7章 函數 195
7.1
函數的定義 196
7.1.1
函數返回類型 197
7.1.2
函數形參表 198
7.2
參數傳遞 199
7.2.1
非引用形參 199
7.2.2
引用形參 201
7.2.3 vector
和其他容器類型的形參 206
7.2.4
數組形參 206
7.2.5
傳遞給函數的數組的處理 209
7.2.6 main
:處理命令行選項 210
7.2.7
含有可變形參的函數 211
7.3 return
語句 211
7.3.1
沒有返回值的函數 212
7.3.2
具有返回值的函數 212
7.3.3
遞歸 216
7.4
函數聲明 217
7.5
局部對象 220
7.5.1
自動對象 220
7.5.2
靜態局部對象 220
7.6
內聯函數 221
7.7
類的成員函數 222
7.7.1
定義成員函數的函數體 223
7.7.2
在類外定義成員函數 225
7.7.3
編寫Sales_item類的構造
函數 225
7.7.4
類代碼文件的組織 227
7.8
重載函數 228
7.8.1
重載與作用域 230
7.8.2
函數匹配與實參轉換 231
7.8.3
重載確定的三個步驟 232
7.8.4
實參類型轉換 234
7.9
指向函數的指針 237
小結 239
術語 240
8章 標准IO 243
8.1
面向對象的標准庫 244
8.2
條件狀態 247
8.3
輸出緩沖區的管理 249
8.4
文件的輸入和輸出 251
8.4.1
文件流對象的使用 251
8.4.2
文件模式 254
8.4.3
一個打開並檢查輸入文件的
程序 256
8.5
字符串流 257
小結 259
術語 259
第二部分 容器和算法
9章 順序容器 263
9.1
順序容器的定義 264
9.1.1
容器元素的初始化 265
9.1.2
容器內元素的類型約束 267
9.2
叠代器和叠代器範圍 268
9.2.1
叠代器範圍 270
9.2.2
使叠代器失效的容器操作 271
9.3
順序容器的操作 272
9.3.1
容器定義的類型別名 272
9.3.2 begin
end成員 273
9.3.3
在順序容器中添加元素 273
9.3.4
關系操作符 277
9.3.5
容器大小的操作 278
9.3.6
訪問元素 279
9.3.7
刪除元素 280
9.3.8
賦值與swap 282
9.4 vector
容器的自增長 284
9.5
容器的選用 287
9.6
再談string類型 289
9.6.1
構造string對象的其他方法 290
9.6.2
修改string對象的其他方法 292
9.6.3
只適用于string類型的操作 293
9.6.4 string
類型的查找操作 295
9.6.5 string
對象的比較 298
9.7
容器適配器 300
9.7.1
棧適配器 301
9.7.2
隊列和優先級隊列 302
小結 303
術語 303
10章 關聯容器 305
10.1
引言:pair類型 306
10.2
關聯容器 308
10.3 map
類型 309
10.3.1 map
對象的定義 309
10.3.2 map
定義的類型 310
10.3.3
map添加元素 311
10.3.4
使用下標訪問map對象 311
10.3.5 map::insert
的使用 313
10.3.6
查找並讀取map中的元素 315
10.3.7
map對象中刪除元素 316
10.3.8 map
對象的叠代遍曆 316
10.3.9
“單詞轉換”map對象 317
10.4 set
類型 319
10.4.1 set
容器的定義和使用 319
10.4.2
創建“單詞排除”集 321
10.5 multimap
multiset類型 322
10.5.1
元素的添加和刪除 322
10.5.2
multimapmultiset
中查找元素 323
10.6
容器的綜合應用:文本查詢程序 325
10.6.1
查詢程序的設計 326
10.6.2 TextQuery
327
10.6.3 TextQuery
類的使用 328
10.6.4
編寫成員函數 330
小結 332
術語 332
11章 泛型算法 335
11.1
概述 336
11.2
初窺算法 339
11.2.1
只讀算法 339
11.2.2
寫容器元素的算法 341
11.2.3
對容器元素重新排序的算法 343
11.3
再談叠代器 347
11.3.1
插入叠代器 348
11.3.2 iostream
叠代器 349
11.3.3
反向叠代器 353
11.3.4 const
叠代器 355
11.3.5
五種叠代器 356
11.4
泛型算法的結構 358
11.4.1
算法的形參模式 359
11.4.2
算法的命名規範 359
11.5
容器特有的算法 361
小結 362
術語 363
第三部分 類和數據抽象
12章 類 367
12.1
類的定義和聲明 368
12.1.1
類定義:扼要重述 368
12.1.2
數據抽象和封裝 369
12.1.3
關于類定義的更多內容 372
12.1.4
類聲明與類定義 374
12.1.5
類對象 375
12.2
隱含的this指針 376
12.3
類作用域 380
類作用域中的名字查找 382
12.4
構造函數 385
12.4.1
構造函數初始化式 387
12.4.2
默認實參與構造函數 391
12.4.3
默認構造函數 392
12.4.4
隱式類類型轉換 393
12.4.5
類成員的顯式初始化 396
12.5
友元 396
12.6 static
類成員 398
12.6.1 static
成員函數 400
12.6.2 static
數據成員 400
小結 403
術語 403
13章 複制控制 405
13.1
複制構造函數 406
13.1.1
合成的複制構造函數 409
13.1.2
定義自己的複制構造函數 409
13.1.3
禁止複制 410
13.2
賦值操作符 411
13.3
析構函數 412
13.4
消息處理示例 415
13.5
管理指針成員 419
13.5.1
定義智能指針類 421
13.5.2
定義值型類 425
arrow
arrow
    全站熱搜

    baosell 發表在 痞客邦 留言(0) 人氣()