- 軟件大小:11.57M
- 軟件語言:中文
- 軟件類型:國產(chǎn)軟件
- 軟件類別:免費(fèi)軟件 / 電子圖書
- 更新時間:2016-03-30 10:29
- 運(yùn)行環(huán)境:WinAll, WinXP
- 軟件等級:
- 軟件廠商:
- 官方網(wǎng)站:http://m.aimjoke.net
21.12M/中文/1.8
33.50M/中文/10.0
7.32M/中文/10.0
7.65M/多國語言[中文]/9.0
310.65M/中文/7.2
C++標(biāo)準(zhǔn)程序庫中文版是一本c語言開發(fā)學(xué)習(xí)的參考書籍,這本電子書的全稱應(yīng)該是c++標(biāo)準(zhǔn)程序庫自修教程與參考手冊,作者是Nicolai M.Josuttis,綠色資源網(wǎng)為大家提供C++標(biāo)準(zhǔn)程序庫電子格式版,如果你沒有購買這本書,不妨下載到電腦上閱讀。
這本包含最新資料的完整書籍,反映出被ANSI/ISO C++語言標(biāo)準(zhǔn)規(guī)格書納入的C++標(biāo)準(zhǔn)程序庫的最新組成。更明確地說,這本書將焦點(diǎn)放在標(biāo)準(zhǔn)模板庫身上,檢驗(yàn)其中的容器、迭代器、仿函數(shù)和算法。讀者還可以找到特殊容、字串、數(shù)值類別、國際化議題、IOStream。每一個元素都有深刻的呈現(xiàn),包括其介紹、設(shè)計(jì)、運(yùn)用實(shí)例、細(xì)部解說、陷阱、意想不到的危險,以及相關(guān)類別和函數(shù)的精確檣記式和定義式。
Nicolai M.Josuttis,著有《C++標(biāo)準(zhǔn)庫》和《C++模板》,兩書都由Addison-Wesley出版。他的職務(wù)是系統(tǒng)架構(gòu)師和技術(shù)經(jīng)理。最近兩年,他在一家國際電話公司中全面推廣SOA。Nicolai在幾個會議上辦過SOA講座,多年來他一直在發(fā)表關(guān)于這個主題的演講。
侯俊杰(1961年9月28日-),筆名侯捷,臺灣知名電腦技術(shù)專欄作家,致力于電腦技術(shù)之扎根工作,文章兼具科技之長與靈性之美[1],有讀者的評語是“比作家更工程師,比工程師更作家”。大同國中、師大附中、交通大學(xué)土木系畢業(yè)、清華大學(xué)動力機(jī)械研究所碩士。曾任職工研院機(jī)械所與電通所,曾在元智大學(xué)授課,近年來多從事兩岸學(xué)術(shù)交流工作。他的妻子美靜是一名鋼琴師,侯俊杰說他自己“嗜咖啡。妻嚴(yán)不能常得。”
侯捷譯序a
孟巖譯序g
目錄(contents) v
前言(preface) xvii
致謝(acknowledgments) xix
1 關(guān)于本書1
1.1 緣起1
1.2 閱讀前的必要基礎(chǔ)2
1.3 本書風(fēng)格與結(jié)構(gòu)2
1.4 如何閱讀本書4
1.5 目前發(fā)展形式5
1.6 范例程序代碼及額外信息5
1.7 回應(yīng)5
2 c++ 及其標(biāo)準(zhǔn)程序庫簡介7
2.1 沿革7
2.2 新的語言特性9
2.2.1 templates(模板) 9
2.2.2 基本型別的顯式初始化(explicit initialization) 14
2.2.3 異常處理(exception handling) 15
.2.2.4 命名空間(namespaces) 16
2.2.5 bool型別18
2.2.6 關(guān)鍵詞explicit 18
2.2.7 新的型別轉(zhuǎn)換操作符(type conversion operators) 19
2.2.8 常數(shù)靜態(tài)成員(constant static members)的初始化20
2.2.9 main() 的定義21
2.3 復(fù)雜度和big-o 表示法21
3 一般概念(general concepts) 23
3.1 命名空間(namespace)std 23
3.2 頭文件(header files) 24
3.3 錯誤(error)處理和異常(exception)處理25
3.3.1 標(biāo)準(zhǔn)異常類別(standard exception classes) 25
3.3.2 異常類別(exception classes)的成員28
3.3.3 拋出標(biāo)準(zhǔn)異常29
3.3.4 從標(biāo)準(zhǔn)異常類別(exception classes)中派生新的類別30
3.4 配置器(allocators) 31
4 通用工具(utilities) 33
4.1 pairs(對組) 33
4.1.1 便捷函數(shù)make_pair() 36
4.1.2 pair運(yùn)用實(shí)例37
4.2 class auto_ptr 38
4.2.1 auto_ptr的發(fā)展動機(jī)38
4.2.2 auto_ptr擁有權(quán)(ownership)的轉(zhuǎn)移40
4.2.3 auto_ptrs 做為成員之一44
4.2.4 auto_ptrs 的錯誤運(yùn)用46
4.2.5 auto_ptr運(yùn)用實(shí)例47
4.2.6 auto_ptr實(shí)作細(xì)目51
4.3 數(shù)值極限(numeric limits) 59
4.4 輔助函數(shù)66
4.4.1 挑選較小值和較大值66
4.4.2 兩值互換67
4.5 輔助性的“比較操作符”(comparison operators) 69
4.6 頭文件[cstddef] 和[cstdlib] 71
4.6.1 [cstddef] 內(nèi)的各種定義71
4.6.2 [cstdlib] 內(nèi)的各種定義71
5 standard template library(標(biāo)準(zhǔn)模板庫) 73
5.1 stl 組件(stl components) 73
5.2 容器(containers) 75
5.2.1 序列式容器(sequence containers) 76
5.2.2 關(guān)聯(lián)式容器(associative containers) 81
5.2.3 容器配接器(container adapters) 82
5.3 迭代器(iterators) 83
5.3.1 關(guān)聯(lián)式容器的運(yùn)用實(shí)例86
5.3.2 迭代器類型(iterator categories) 93
5.4 算法(algorithms) 94
5.4.1 區(qū)間(ranges) 97
5.4.2 處理多個區(qū)間101
5.5 迭代器之配接器(iterator adapters) 104
5.5.1 insert iterators(安插型迭代器) 104
5.5.2 stream iterators(串流迭代器) 107
5.5.3 reverse iterators(逆向迭代器) 109
5.6 更易型算法(manipulating algorithms) 111
5.6.1 移除(removing)元素111
5.6.2 更易型算法和關(guān)聯(lián)式容器115
5.6.3 算法v.s. 成員函數(shù)116
5.7 使用者自定之泛型函數(shù)(user-defined generic functions) 117
5.8 以函數(shù)做為算法的參數(shù)119
5.8.1“以函數(shù)做為算法的參數(shù)”實(shí)例示范119
5.8.2 判斷式(predicates) 121
5.9 仿函數(shù)(functors or function objects) 124
5.9.1 什么是仿函數(shù)124
5.9.2 預(yù)先定義的仿函數(shù)131
5.10 容器內(nèi)的元素(container elements) 134
5.10.1 容器元素的條件134
5.10.2 value 語意vs. reference 語意135
5.11 stl內(nèi)部的錯誤處理和異常處理136
5.11.1 錯誤處理(error handling) 137
5.11.2 異常處理(exception handling) 139
5.12 擴(kuò)展stl 141
6 stl 容器(containers) 143
6.1 容器的共通能力和共通操作144
6.1.1 容器的共通能力144
6.1.2 容器的共通操作144
6.2 vectors 148
6.2.1 vectors 的能力148
6.2.2 vector 的操作函數(shù)150
6.2.3 將vectors 當(dāng)做一般arrays 使用155
6.2.4 異常處理155
6.2.5 vectors 運(yùn)用實(shí)例156
6.2.6 class vector[bool] 158
6.3 deques 160
6.3.1 deques 的能力161
6.3.2 deque 的操作函數(shù)162
6.3.3 異常處理(exception handling) 164
6.3.4 deques 運(yùn)用實(shí)例164
6.4 lists 166
6.4.1 lists 的能力166
6.4.2 list 的操作函數(shù)167
6.4.3 異常處理(exception handling) 172
6.4.4 lists 運(yùn)用實(shí)例172
6.5 sets和multisets
175
6.5.1 sets 和multisets 的能力176
6.5.2 set 和multiset 的操作177
6.5.3 異常處理(exception handling) 185
6.5.4 sets 和multisets 運(yùn)用實(shí)例186
6.5.5 執(zhí)行期指定排序準(zhǔn)則(sorting criterion) 191
6.6 maps 和multimaps 194
6.6.1 maps 和multimaps 的能力195
6.6.2 map 和multimap 的操作函數(shù)196
6.6.3 將maps 視為關(guān)聯(lián)式數(shù)組(associated arrays) 205
6.6.4 異常處理(exception handling) 207
6.6.5 maps 和multimaps 運(yùn)用實(shí)例207
6.6.6 綜合實(shí)例:運(yùn)用maps, strings 并于執(zhí)行期指定排序準(zhǔn)則213
6.7 其它的stl容器217
6.7.1 strings 可被視為一種stl容器217
6.7.2 arrays 可被視為一種stl容器218
6.7.3 hash tables 221
6.8 動手實(shí)現(xiàn)reference 語意222
6.9 各種容器的運(yùn)用時機(jī)226
6.10 細(xì)說容器內(nèi)的型別和成員230
6.10.1 容器內(nèi)的型別230
6.10.2 生成(create)、復(fù)制(copy)、銷毀(destroy) 231
6.10.3“非變動性操作(nonmodifying operations) 233
6.10.4 賦值(指派, assignments) 236
6.10.5 直接元素存取237
6.10.6 “會產(chǎn)出迭代器”的各項(xiàng)操作239
6.10.7 元素的安插(inserting)和移除(removing) 240
6.10.8 lists 的特殊成員函數(shù)244
6.10.9 對配置器(allocator)的支持246
6.10.10 綜觀stl容器的異常處理248
7 stl 迭代器(iterators) 251
7.1 迭代器頭文件251
7.2 迭代器類型(iterator categories) 251
7.2.1 input(輸入)迭代器252
7.2.2 output(輸出)迭代器253
7.2.3 forward(前向)迭代器254
7.2.4 bidirectional(雙向)迭代器255
7.2.5 random access(隨機(jī)存?。┑?55
7.2.6 vector 迭代器的遞增(increment)和遞減(decrement) 258
7.3 迭代器相關(guān)輔助函數(shù)259
7.3.1 advance() 可令迭代器前進(jìn)259
7.3.2 distance() 可處理迭代器之間的距離261
7.3.3 iter_swap() 可交換兩個迭代器所指內(nèi)容263
7.4 迭代器配接器(iterator adapters) 264
7.4.1 reverse(逆向)迭代器264
7.4.2 insert(安插型)迭代器271
7.4.3 stream(串流)迭代器277
7.5 迭代器特性(iterator traits) 283
7.5.1 為迭代器編寫泛型函數(shù)(generic functions) 285
7.5.2 使用者自定(user-defined)的迭代器288
8 stl 仿函數(shù)(functors or function objects) 293
8.1 仿函數(shù)的概念293
8.1.1 仿函數(shù)可當(dāng)做排序準(zhǔn)則(sort criteria) 294
8.1.2 仿函數(shù)可擁有自己的內(nèi)部狀態(tài)(internal state) 296
8.1.3 for_each() 的回返值300
8.1.4 判斷式(predicates)和仿函數(shù)(functors) 302
8.2 預(yù)定義的仿函數(shù)305
8.2.1 函數(shù)配接器(function adapters) 306
8.2.2 針對成員函數(shù)而設(shè)計(jì)的函數(shù)配接器307
8.2.3 針對一般函數(shù)(非成員函數(shù))而設(shè)計(jì)的函數(shù)配接器309
8.2.4 讓自定仿函數(shù)也可以使用函數(shù)配接器310
8.3 輔助用(組合型)仿函數(shù)313
8.3.1 一元組合函數(shù)配接器(unary compose function object adapters) 314
8.3.2 二元組合函數(shù)配接器(binary compose function object adapters) 318
9 stl 算法(algorithms) 321
9.1 算法頭文件(header files) 321
9.2 算法概觀322
9.2.1 簡介322
9.2.2 算法分門別類323
9.3 輔助函數(shù)332
9.4 for_each() 算法334
9.5 非變動性算法(nonmodifying algorithms) 338
9.5.1 計(jì)算元素個數(shù)338
9.5.2 求最大值和最小值339
9.5.3 搜尋元素341
9.5.4 區(qū)間的比較356
9.6 變動性算法(modifying algorithms) 363
9.6.1 復(fù)制(copying)元素363
9.6.2 轉(zhuǎn)換(transforming)和結(jié)合(combining)元素366
9.6.3 互換(swapping)元素內(nèi)容370
9.6.4 賦予(assigning)新值372
9.6.5 替換(replacing)元素375
9.7 移除性算法(removing algorithms) 378
9.7.1 移除某些特定元素378
9.7.2 移除重復(fù)元素381
9.8 變序性算法(mutating algorithms) 386
9.8.1 逆轉(zhuǎn)(reversing)元素次序386
9.8.2 旋轉(zhuǎn)(rotating)元素次序388
9.8.3 排列(permuting)元素391
9.8.4 重排元素(shuffling, 攪亂次序) 393
9.8.5 將元素向前搬移395
9.9 排序算法(sorting algorithms) 397
9.9.1 對所有元素排序397
9.9.2 局部排序(partial sorting) 400
9.9.3 根據(jù)第n 個元素排序404
9.9.4 heap 算法406
9.10 已序區(qū)間算法(sorted range algorithms) 409
9.10.1 搜尋元素(searching) 410
9.10.2 合并元素(merging) 416
9.11 數(shù)值算法(numeric algorithms) 425
9.11.1 加工運(yùn)算后產(chǎn)生結(jié)果425
9.11.2 相對值和絕對值之間的轉(zhuǎn)換429
10 特殊容器(special containers) 435
10.1 stacks(堆棧) 435
10.1.1 核心界面436
10.1.2 stacks 運(yùn)用實(shí)例437
10.1.3 class stack[] 細(xì)部討論438
10.1.4 一個使用者自定的stack class 441
10.2 queues(隊(duì)列) 444
10.2.1 核心界面445
10.2.2 queues 運(yùn)用實(shí)例446
10.2.3 class queue[] 細(xì)部討論447
10.2.4 一個使用者自定的queue class 450
10.3 priority queues(優(yōu)先隊(duì)列) 453
10.3.1 核心界面455
10.3.2 priority queues 運(yùn)用實(shí)例455
10.3.3 class priority_queue[] 細(xì)部討論456
10.4 bitsets 460
10.4.1 bitsets 運(yùn)用實(shí)例460
10.4.2 class bitset 細(xì)部討論463
11 strings(字符串) 471
11.1 動機(jī)471
11.1.1 例一:引出一個臨時文件名
472
11.1.2 例二:引出一段文字并逆向打印476
11.2 string classes 細(xì)部描述479
11.2.1 string 的各種相關(guān)型別479
11.2.2 操作函數(shù)(operations)綜覽481
11.2.3 建構(gòu)式和解構(gòu)式(constructors and destructors) 483
11.2.4 strings 和c-strings 484
11.2.5 大?。╯ize)和容量(capacity) 485
11.2.6 元素存?。╡lement access) 487
11.2.7 比較(comparisons) 488
11.2.8 更改內(nèi)容(modifiers) 489
11.2.9 子字符串及字符串接合492
11.2.10 i/o 操作符492
11.2.11 搜尋和查找(searching and finding) 493
11.2.12 數(shù)值npos 的意義495
11.2.13 strings 對迭代器的支援497
11.2.14 國際化(internationalization) 503
11.2.15 效率(performance) 506
11.2.16 strings 和vectors 506
11.3 細(xì)說string class 507
11.3.1 內(nèi)部的型別定義和靜態(tài)值507
11.3.2 生成(create)、拷貝(copy)、銷毀(destroy) 508
11.3.3 大?。╯ize)和容量(capacity) 510
11.3.4 比較(comparisons) 511
11.3.5 字符存?。╟haracter access) 512
11.3.6 產(chǎn)生c-strings 和字符數(shù)組(character arrays) 513
11.3.7 更改內(nèi)容514
11.3.8 搜尋(searching and finding) 520
11.3.9 子字符串及字符串接合524
11.3.10 i/o 函數(shù)524
11.3.11 產(chǎn)生迭代器525
11.3.12 對配置器(allocator)的支持526
12 數(shù)值(numerics) 529
12.1 復(fù)數(shù)(complex numbers) 529
12.1.1 class complex運(yùn)用實(shí)例530
12.1.2 復(fù)數(shù)的各種操作533
12.1.3 class complex[] 細(xì)部討論541
12.2 valarrays 547
12.2.1 認(rèn)識valarrays 547
12.2.2 valarray 的子集(subsets) 553
12.2.3 class valarray 細(xì)部討論569
12.2.4 valarray子集類別(subset classes)細(xì)部討論575
12.3 全域性的數(shù)值函數(shù)581
13 以stream classes完成輸入和輸出583
13.1 i/o streams 基本概念584
13.1.1 stream物件584
13.1.2 stream類別584
13.1.3 全域性的stream物件585
13.1.4 stream操作符586
13.1.5 操控器(manipulators) 586
13.1.6 一個簡單的例子587
13.2 基本的stream類別和stream對象588
13.2.1 相關(guān)類別及其階層體系588
13.2.2 全域性的stream物件591
13.2.3 頭文件(headers) 592
13.3 標(biāo)準(zhǔn)的stream操作符[[ 和]] 593
13.3.1 output操作符[[ 593
13.3.2 input操作符]] 594
13.3.3 特殊型別的i/o 595
13.4 streams 的狀態(tài)(state) 597
13.4.1 用來表示streams 狀態(tài)的一些常數(shù)597
13.4.2 用來處理streams 狀態(tài)的一些成員函數(shù)598
13.4.3 stream狀態(tài)與布爾條件測試600
13.4.4 stream的狀態(tài)和異常602
13.5 標(biāo)準(zhǔn)i/o 函數(shù)607
13.5.1 輸入用的成員函數(shù)607
13.5.2 輸出用的成員函數(shù)610
13.5.3 運(yùn)用實(shí)例611
13.6 操控器(manipulators) 612
13.6.1 操控器如何運(yùn)作612
13.6.2 使用者自定操控器614
13.7 格式化(formatting) 615
13.7.1 格式標(biāo)志(format flags) 615
13.7.2 布爾值(boolean values)的i/o 格式617
13.7.3 字段寬度、填充字符、位置調(diào)整618
13.7.4 正記號與大寫字620
13.7.5 數(shù)值進(jìn)制(numeric base) 621
13.7.6 浮點(diǎn)數(shù)(floating-point)表示法623
13.7.7 一般性的格式定義625
13.8 國際化(internationalization) 625
13.9 文件存?。╢ile access) 627
13.9.1 文件標(biāo)志(file flags) 631
13.9.2 隨機(jī)存取634
13.9.3 使用文件描述器(file descriptors) 637
13.10 連接input streams 和output streams 637
13.10.1 以tie()完成“松耦合”(loose coupling) 637
13.10.2 以stream緩沖區(qū)完成“緊耦合”(tight coupling) 638
13.10.3 將標(biāo)準(zhǔn)streams 重新導(dǎo)向(redirecting) 641
13.10.4 用于讀寫的streams 643
13.11 string stream classes 645
13.11.1 string stream classes 645
13.11.2 char* stream classes 649
13.12 “使用者自定型別”之i/o操作符652
13.12.1 實(shí)作一個output 操作符652
13.12.2 實(shí)作一個input 操作符654
13.12.3 以輔助函數(shù)完成i/o 656
13.12.4 以非格式化函數(shù)完成使用者自定的操作符658
13.12.5 使用者自定的格式標(biāo)志(format flags) 659
13.12.6 使用者自定之i/o 操作符的數(shù)個依循慣例662
13.13 stream buffer classes 663
13.13.1 從使用者的角度看stream緩沖區(qū)663
13.13.2 stream緩沖區(qū)迭代器(buffer iterators) 665
13.13.3 使用者自定的stream 緩沖區(qū)668
13.14 關(guān)于效能(performance) 681
13.14.1 與c 標(biāo)準(zhǔn)輸入輸出流(standard streams)同步682
13.14.2 stream緩沖區(qū)內(nèi)的緩沖機(jī)制682
13.14.3 直接使用stream緩沖區(qū)683
14 國際化(internationalization, i18n) 685
14.1 不同的字符編碼(character encoding) 686
14.1.1 寬字符(wide-character)和多字節(jié)文本(multibyte text) 686
14.1.2 字符特性(character traits) 687
14.1.3 特殊字符國際化691
14.2 locales 的概念692
14.2.1 運(yùn)用locales 693
14.2.2 locale facets 698
14.3 locales 細(xì)部討論700
14.4 facets 細(xì)部討論704
14.4.1 數(shù)值格式化705
14.4.2 時間和日期格式化708
14.4.3 貨幣符號格式化711
14.4.4 字符的分類和轉(zhuǎn)換715
14.4.5 字符串??保╯tring collation) 724
14.4.6 信息國際化725
15 空間配置器(allocators) 727
15.1 應(yīng)用程序開發(fā)者如何使用配置器727
15.2 程序庫開發(fā)者如何使用配置器728
15.3 c++ 標(biāo)準(zhǔn)程序庫的預(yù)設(shè)配置器732
15.4 使用者自行定義的配置器735
15.5 配置器細(xì)部討論737
15.5.1 內(nèi)部定義的型別737
15.5.2 各項(xiàng)操作739
15.6“未初始化內(nèi)存”之處理工具細(xì)部討論740
網(wǎng)絡(luò)上的資源(internet resources) 743
參考書目(bibliography) 745
索引(index) 747
請描述您所遇到的錯誤,我們將盡快予以修正,謝謝!
*必填項(xiàng),請輸入內(nèi)容