c++標(biāo)準(zhǔn)程序庫(kù)pdf下載 最新軟件|熱門排行|軟件分類|軟件專題|廠商大全

您的位置: 首頁(yè)教育教學(xué)電子圖書 → C++標(biāo)準(zhǔn)程序庫(kù)中文版 pdf高清掃描版

C++標(biāo)準(zhǔn)程序庫(kù)中文版

pdf高清掃描版 C++標(biāo)準(zhǔn)程序庫(kù)中文版 網(wǎng)友評(píng)分:8

同類相關(guān)軟件

軟件介紹

C++標(biāo)準(zhǔn)程序庫(kù)中文版是一本c語(yǔ)言開發(fā)學(xué)習(xí)的參考書籍,這本電子書的全稱應(yīng)該是c++標(biāo)準(zhǔn)程序庫(kù)自修教程與參考手冊(cè),作者是Nicolai M.Josuttis,綠色資源網(wǎng)為大家提供C++標(biāo)準(zhǔn)程序庫(kù)電子格式版,如果你沒有購(gòu)買這本書,不妨下載到電腦上閱讀。

C++標(biāo)準(zhǔn)程序庫(kù)內(nèi)容簡(jiǎn)介

這本包含最新資料的完整書籍,反映出被ANSI/ISO C++語(yǔ)言標(biāo)準(zhǔn)規(guī)格書納入的C++標(biāo)準(zhǔn)程序庫(kù)的最新組成。更明確地說(shuō),這本書將焦點(diǎn)放在標(biāo)準(zhǔn)模板庫(kù)身上,檢驗(yàn)其中的容器、迭代器、仿函數(shù)和算法。讀者還可以找到特殊容、字串、數(shù)值類別、國(guó)際化議題、IOStream。每一個(gè)元素都有深刻的呈現(xiàn),包括其介紹、設(shè)計(jì)、運(yùn)用實(shí)例、細(xì)部解說(shuō)、陷阱、意想不到的危險(xiǎn),以及相關(guān)類別和函數(shù)的精確檣記式和定義式。

作者介紹

Nicolai M.Josuttis,著有《C++標(biāo)準(zhǔn)庫(kù)》和《C++模板》,兩書都由Addison-Wesley出版。他的職務(wù)是系統(tǒng)架構(gòu)師和技術(shù)經(jīng)理。最近兩年,他在一家國(guó)際電話公司中全面推廣SOA。Nicolai在幾個(gè)會(huì)議上辦過(guò)SOA講座,多年來(lái)他一直在發(fā)表關(guān)于這個(gè)主題的演講。

侯俊杰(1961年9月28日-),筆名侯捷,臺(tái)灣知名電腦技術(shù)專欄作家,致力于電腦技術(shù)之扎根工作,文章兼具科技之長(zhǎng)與靈性之美[1],有讀者的評(píng)語(yǔ)是“比作家更工程師,比工程師更作家”。大同國(guó)中、師大附中、交通大學(xué)土木系畢業(yè)、清華大學(xué)動(dòng)力機(jī)械研究所碩士。曾任職工研院機(jī)械所與電通所,曾在元智大學(xué)授課,近年來(lái)多從事兩岸學(xué)術(shù)交流工作。他的妻子美靜是一名鋼琴師,侯俊杰說(shuō)他自己“嗜咖啡。妻嚴(yán)不能常得。”

C++標(biāo)準(zhǔn)程序庫(kù)中文版目錄

侯捷譯序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)程序庫(kù)簡(jiǎn)介7

2.1 沿革7

2.2 新的語(yǔ)言特性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 錯(cuò)誤(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(對(duì)組) 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ā)展動(dòng)機(jī)38

4.2.2 auto_ptr擁有權(quán)(ownership)的轉(zhuǎn)移40

4.2.3 auto_ptrs 做為成員之一44

4.2.4 auto_ptrs 的錯(cuò)誤運(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)模板庫(kù)) 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 處理多個(gè)區(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 語(yǔ)意vs. reference 語(yǔ)意135

5.11 stl內(nèi)部的錯(cuò)誤處理和異常處理136

5.11.1 錯(cuò)誤處理(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 動(dòng)手實(shí)現(xiàn)reference 語(yǔ)意222

6.9 各種容器的運(yùn)用時(shí)機(jī)226

6.10 細(xì)說(shuō)容器內(nèi)的型別和成員230

6.10.1 容器內(nèi)的型別230

6.10.2 生成(create)、復(fù)制(copy)、銷毀(destroy) 231

6.10.3“非變動(dòng)性操作(nonmodifying operations) 233

6.10.4 賦值(指派, assignments) 236

6.10.5 直接元素存取237

6.10.6 “會(huì)產(chǎn)出迭代器”的各項(xiàng)操作239

6.10.7 元素的安插(inserting)和移除(removing) 240

6.10.8 lists 的特殊成員函數(shù)244

6.10.9 對(duì)配置器(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ī)存取)迭代器255

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() 可交換兩個(gè)迭代器所指內(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 針對(duì)成員函數(shù)而設(shè)計(jì)的函數(shù)配接器307

8.2.3 針對(duì)一般函數(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 簡(jiǎn)介322

9.2.2 算法分門別類323

9.3 輔助函數(shù)332

9.4 for_each() 算法334

9.5 非變動(dòng)性算法(nonmodifying algorithms) 338

9.5.1 計(jì)算元素個(gè)數(shù)338

9.5.2 求最大值和最小值339

9.5.3 搜尋元素341

9.5.4 區(qū)間的比較356

9.6 變動(dòng)性算法(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 對(duì)所有元素排序397

9.9.2 局部排序(partial sorting) 400

9.9.3 根據(jù)第n 個(gè)元素排序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 相對(duì)值和絕對(duì)值之間的轉(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 一個(gè)使用者自定的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 一個(gè)使用者自定的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 動(dòng)機(jī)471

11.1.1 例一:引出一個(gè)臨時(shí)文件名

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 對(duì)迭代器的支援497

11.2.14 國(guó)際化(internationalization) 503

11.2.15 效率(performance) 506

11.2.16 strings 和vectors 506

11.3 細(xì)說(shuō)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 對(duì)配置器(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)識(shí)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 一個(gè)簡(jiǎn)單的例子587

13.2 基本的stream類別和stream對(duì)象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 用來(lái)表示streams 狀態(tài)的一些常數(shù)597

13.4.2 用來(lái)處理streams 狀態(tài)的一些成員函數(shù)598

13.4.3 stream狀態(tài)與布爾條件測(cè)試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 正記號(hào)與大寫字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 國(guó)際化(internationalization) 625

13.9 文件存取(file 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í)作一個(gè)output 操作符652

13.12.2 實(shí)作一個(gè)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ù)個(gè)依循慣例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 國(guó)際化(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 特殊字符國(guó)際化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 時(shí)間和日期格式化708

14.4.3 貨幣符號(hào)格式化711

14.4.4 字符的分類和轉(zhuǎn)換715

14.4.5 字符串??保╯tring collation) 724

14.4.6 信息國(guó)際化725

15 空間配置器(allocators) 727

15.1 應(yīng)用程序開發(fā)者如何使用配置器727

15.2 程序庫(kù)開發(fā)者如何使用配置器728

15.3 c++ 標(biāo)準(zhǔn)程序庫(kù)的預(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

軟件截圖

下載地址 電腦版

用戶評(píng)論

熱門評(píng)論

最新評(píng)論

發(fā)表評(píng)論 查看所有評(píng)論(0)

昵稱:
請(qǐng)不要評(píng)論無(wú)意義或臟話,我們所有評(píng)論會(huì)有人工審核.
字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)