C++標準模闆庫編程實戰

C++標準模闆庫編程實戰 pdf epub mobi txt 電子書 下載2025

出版者:
作者:Ivor Horton
出品人:
頁數:464
译者:郭小虎
出版時間:2017-1
價格:0
裝幀:平裝
isbn號碼:9787302455806
叢書系列:
圖書標籤:
  • C++
  • STL
  • 編程
  • C++
  • STL
  • 標準模闆庫
  • 編程
  • 數據結構
  • 算法
  • 實戰
  • 代碼
  • 學習
  • 開發
  • 提高
想要找書就要到 小美書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

《C++標準模闆庫編程實戰》介紹最新的C++14標準的API、庫和擴展,以及如何將它們運用到C++14程序中。在書中,作者Ivor Horton 則闡述瞭什麼是STL,以及如何將它們應用到程序中。我們將學習如何使用容器、迭代器,以及如何定義、創建和應用算法。此外,還將學習函數對象和適配器,以及它們的用法。

閱讀完本書之後,你將能夠瞭解如何擴展STL,如何定義自定義類型的C++組件,你還將能夠定義既滿足C++ STL要求又遵從最常見的設計模式和最佳實踐的自定義類型。

標準庫是C++標準的一個基本部分,它為C++程序員提供瞭一套全麵而又高效的工具,還提供瞭一些適用於多種類型程序的可重用組件。

主要內容

◆ 如何在C++程序中使用STL

◆ 如何使用容器

◆ 如何使用迭代器

◆ 如何定義、生成和運用算法

◆ 如何使用函數對象

◆ 如何擴展STL,以及如何定義自定義類型的組件

◆ 如何使用適配器

◆ 如何定義自定義類型,使之既滿足C++ STL的要求又遵從通用的設計模

式和最佳實踐

著者簡介

Ivor Horton是世界著名計算機圖書作傢,獨立顧問,幫助無數程序員步入編程殿堂。他曾在IBM工作多年,以優異成績擁有數學學士學位。

他的資曆包括:使用大多數語言(如在多種機器上使用匯編語言和高級語言)進行編程,實時編程,設計和實現實時閉環工業控製係統。Horton擁有豐富的麵嚮工程師和科學傢的編程教學經驗(教學內容包括C、C++、Fortran、PL/1、APL等)。同時,他還是機械、加工和電子CAD係統、機械CAM係統和DNC/CNC係統方麵的專傢。

圖書目錄

第1章 STL介紹 1
1.1 基本思想 2
1.2 模闆 2
1.3 容器 6
1.4 迭代器 7
1.4.1 獲取迭代器 8
1.4.2 迭代器的類彆 8
1.4.3 流迭代器 11
1.4.4 迭代器適配器 12
1.5 迭代器上的運算 14
1.6 智能指針 14
1.6.1 使用unique_ptr指針 16
1.6.2 使用shared_ptr指針 18
1.6.3 weak_ptr指針 21
1.7 算法 22
1.8 將函數作為實參傳入 23
1.8.1 函數對象 23
1.8.2 lambda錶達式 24
1.9 小結 28
練習 29
第2章 使用序列容器 31
2.1 序列容器 31
2.2 使用array容器 35
2.2.1 訪問元素 36
2.2.2 使用數組容器的迭代器 39
2.2.3 比較數組容器 41
2.3 使用vector容器 42
2.3.1 創建vector容器 42
2.3.2 vector的容量和大小 44
2.3.3 訪問元素 45
2.3.4 使用vector容器的
迭代器 46
2.3.5 嚮vector容器中添加
元素 49
2.3.6 刪除元素 53
2.3.7 vector[bool]容器 57
2.4 使用deque容器 58
2.4.1 生成deque容器 58
2.4.2 訪問元素 59
2.4.3 添加和移除元素 59
2.4.4 替換deque容器中的內容 60
2.5 使用list容器 62
2.5.1 生成list容器 63
2.5.2 添加元素 63
2.5.3 移除元素 65
2.5.4 排序和閤並元素 66
2.5.5 訪問元素 69
2.6 使用forward_list容器 71
2.7 自定義迭代器 76
2.7.1 STL迭代器的要求 76
2.7.2 走進STL 77
2.8 本章小結 86
練習 87
第3章 容器適配器 89
3.1 什麼是容器適配器 89
3.2 創建和使用stack容器
適配器 90
3.3 創建和使用queue容器
適配器 95
3.3.1 queue操作 96
3.3.2 queue容器的實際使用 97
3.4 使用priority_queue容器
適配器 102
3.4.1 創建priority_queue 103
3.4.2 priority_queue操作 104
3.5 堆 107
3.5.1 創建堆 108
3.5.2 堆操作 110
3.6 在容器中保存指針 116
3.6.1 在序列容器中保存指針 116
3.6.2 在優先級隊列中存儲
指針 123
3.6.3 指針的堆 125
3.6.4 基類指針的容器 125
3.6.5 對指針序列應用算法 129
3.7 本章小結 130
練習 130
第4章 map容器 131
4.1 map容器介紹 131
4.2 map容器的用法 132
4.2.1 創建map容器 134
4.2.2 map元素的插入 135
4.2.3 在map中構造元素 142
4.2.4 訪問map中的元素 142
4.2.5 刪除元素 152
4.3 pair和tuple的用法 152
4.3.1 pair的操作 153
4.3.2 tuple的操作 156
4.3.3 tuples和 pairs實戰 158
4.4 multimap容器的用法 163
4.5 改變比較函數 168
4.5.1 greater對象的用法 168
4.5.2 用自定義的函數對象來比較
元素 169
4.6 哈希 170
4.7 unordered_map容器的用法 173
4.7.1 生成和管理unordered_map
容器 175
4.7.2 調整格子個數 177
4.7.3 插入元素 178
4.7.4 訪問元素 179
4.7.5 移除元素 180
4.7.6 訪問格子 180
4.8 unordered_multimap容器的
用法 184
4.9 本章小結 192
練習 193
第5章 set的使用 195
5.1 理解set容器 195
5.2 使用set容器 196
5.2.1 添加和移除元素 197
5.2.2 訪問元素 199
5.2.3 使用set 199
5.2.4 set迭代器 209
5.2.5 在set容器中保存指針 209
5.3 使用multiset容器 215
5.3.1 保存派生類對象的指針 217
5.3.2 定義容器 219
5.3.3 定義示例的main()函數 220
5.4 unordered_set容器 223
5.4.1 添加元素 224
5.4.2 檢索元素 225
5.4.3 刪除元素 226
5.4.4 創建格子列錶 227
5.5 使用unordered_multiset
容器 228
5.6 集閤運算 233
5.6.1 set_union()算法 234
5.6.2 set_intersection()算法 235
5.6.3 set_difference()算法 236
5.6.4 set_symmetric_difference()
算法 236
5.6.5 includes()算法 236
5.6.6 集閤運算的運用 238
5.7 本章小結 240
練習 240
第6章 排序、閤並、搜索和分區 243
6.1 序列排序 243
6.1.1 排序以及相等元素的
順序 246
6.1.2 部分排序 247
6.1.3 測試排序序列 250
6.2 閤並序列 251
6.3 搜索序列 260
6.3.1 在序列中查找元素 260
6.3.2 在序列中查找任意範圍的
元素 262
6.3.3 在序列中查找多個元素 264
6.4 分區序列 268
6.4.1 partition_copy()算法 270
6.4.2 partition_point()算法 271
6.5 二分查找算法 272
6.5.1 binary_search()算法 273
6.5.2 lower_bound()算法 274
6.5.3 equal_range()算法 274
6.6 本章小結 277
練習 278
第7章 更多的算法 279
7.1 檢查元素的屬性 279
7.2 序列的比較 281
7.2.1 查找序列的不同之處 283
7.2.2 按字典序比較序列 286
7.2.3 序列的排列 287
7.3 復製序列 292
7.3.1 復製一定數目的元素 292
7.3.2 條件復製 292
7.4 復製和反嚮元素順序 296
7.5 復製一個刪除相鄰重復元素的
序列 297
7.6 從序列中移除相鄰的重復
元素 298
7.7 鏇轉序列 299
7.8 移動序列 301
7.9 從序列中移除元素 303
7.10 設置和修改序列中的
元素 305
7.10.1 用函數生成元素的值 306
7.10.2 轉換序列 307
7.10.3 替換序列中的元素 310
7.11 算法的應用 311
7.12 本章小結 315
練習 320
第8章 生成隨機數 321
8.1 什麼是隨機數 321
8.2 概率、分布以及熵 322
8.2.1 什麼是概率 322
8.2.2 什麼是分布 322
8.2.3 什麼是熵 324
8.3 用STL生成隨機數 324
8.3.1 生成隨機數的種子 325
8.3.2 獲取隨機種子 325
8.3.3 種子序列 326
8.4 分布類 329
8.4.1 默認隨機數生成器 329
8.4.2 創建分布對象 330
8.4.3 均勻分布 331
8.4.4 正態分布 342
8.4.5 對數分布 347
8.4.6 其他和正態分布相關的
分布 350
8.4.7 抽樣分布 351
8.4.8 其他分布 365
8.5 隨機數生成引擎和生成器 370
8.5.1 綫性同餘引擎 371
8.5.2 馬特賽特鏇轉演算法
引擎 372
8.5.3 帶進位減法引擎 372
8.6 重組元素序列 373
8.7 本章小結 374
練習 375
第9章 流操作 377
9.1 流迭代器 377
9.1.1 輸入流迭代器 377
9.1.2 輸齣流迭代器 381
9.2 重載插入和提取運算符 383
9.3 對文件使用流迭代器 384
9.3.1 文件流 385
9.3.2 文件流類的模闆 385
9.3.3 用流迭代器進行文件
輸入 386
9.3.4 用流迭代器來反復讀
文件 388
9.3.5 用流迭代器輸齣文件 390
9.4 流迭代器和算法 391
9.5 流緩衝區迭代器 395
9.5.1 輸入流緩衝區迭代器 395
9.5.2 輸齣流緩衝區迭代器 396
9.5.3 對文件流使用輸齣流緩衝區
迭代器 397
9.6 string流、流,以及流緩衝區
迭代器 399
9.7 本章小結 402
練習 402
第10章 使用數值、時間和復數 403
10.1 數值計算 403
10.2 數值算法 403
10.2.1 保存序列中的增量值 404
10.2.2 求序列的和 405
10.2.3 內積 406
10.2.4 相鄰差 411
10.2.5 部分和 411
10.2.6 極大值和極小值 413
10.3 保存和處理數值 414
10.3.1 valarray對象的基本
操作 415
10.3.2 一元運算符 418
10.3.3 用於valarray對象的復閤
賦值運算符 419
10.3.4 valarray對象的二元
運算 420
10.3.5 訪問valarray對象中的
元素 421
10.3.6 多個切片 436
10.3.7 選擇多行或多列 438
10.3.8 使用gslice對象 439
10.3.9 選擇元素的任意子集 440
10.3.10 有條件地選擇元素 441
10.3.11 有理數算法 442
10.4 時序模闆 445
10.4.1 定義duration 446
10.4.2 時鍾和時間點 451
10.5 復數 458
10.5.1 生成錶示復數的對象 459
10.5.2 復數的運算 460
10.5.3 復數上的比較和其他
運算 460
10.5.4 一個使用復數的簡單
示例 461
10.6 本章小結 463
練習 464
· · · · · · (收起)

讀後感

評分

評分

評分

評分

評分

用戶評價

评分

评分

评分

评分

评分

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美書屋 版权所有