Boost庫是由專業人員開發,在多個平台和處理器架構上測試,並適用於廣泛任務的可靠解決方案。本書將帶你踏上簡化應用程序開發過程的旅程,引導你更快地編寫完美的應用程序。本書詳細闡述多線程、網絡編程、元編程和泛型編程,並探討如何只編寫一次程序,就能在Linux、Windows、MacOS和Android操作系統中使用。書中匯集Boost庫開發者創建的許多清晰、實用的秘笈,循序漸進地引導讀者了解並充分利用Boost和C++的真正優勢,以及一些現成可用的解決方案,快速開發高品質、可移植的應用程序。本書主要內容:涵蓋日常使用的新數據類型、圖形處理的基礎知識,以及一些編程技巧。
討論如何使用智能指針管理資源,根除內存泄漏問題,以及如何使用Boost庫執行與多線程和常見的字符串相關的任務。講解如何將處理、計算和相互作用拆分為仿函數(任務)並且獨立地完成這些任務。探討用於檢測編譯器、平台和Boost功能的各種輔助宏。在C++03中使用精選的C++11特性。
Antony
Polukhin?資深技術專家,擁有多年Boost軟件開發經驗。他在應用程序開發集成、程序包實現、面向圖形的數據庫查詢和面向對象的軟件開發等領域擁有獨到的見解,積累頗豐,曾為Asterisc的商業替代軟件開發業務邏輯。他開發或維護了許多Boost庫,如Any、LexicalCast、TypeTraits、Variant等。目前他開發了一個面向圖形的數據庫查詢引擎,並繼續為開源做貢獻。
目錄
譯者序
前言
第1章 開始編寫應用程序 1
秘笈1 獲取配置選項 1
秘笈2 在容器/變量中存儲任意值 5
秘笈3 在變量/容器中存儲多個選擇類型 7
秘笈4 使用更安全的方式處理存儲多個選擇類型的容器 8
秘笈5 返回一個值或在沒有值的地方返回一個標志 12
秘笈6 從函數返回數組 14
秘笈7 將多個值結合成一個值 16
秘笈8 重新排列函數的參數 18
秘笈9 綁定一個值作為函數參數 21
秘笈10 使用C++11移動仿真 23
秘笈11 制作一個不可復制的類 26
秘笈12 制作一個不可復制但可移動的類 28
第2章 數據轉換 32
秘笈13 將字符串轉換為數值 32
秘笈14 將數值轉換為字符串 34
秘笈15 將數值轉換為數值 36
秘笈16 用戶定義類型與字符串的相互轉換 39
秘笈17 強制轉換多態對象 41
秘笈18 解析簡單的輸入 43
秘笈19 解析輸入 46
第3章 資源管理 51
秘笈20 管理作用域內的類指針 51
秘笈21 跨方法使用的類指針的引用計數 53
秘笈22 管理作用域內的數組指針 55
秘笈23 跨方法使用的數組指針的引用計數 56
秘笈24 在變量中存儲任意函數化對象 59
秘笈25 在變量中傳遞函數指針 61
秘笈26 在變量中傳遞C++11中的lambda函數 62
秘笈27 指針的容器 63
秘笈28 在退出作用域時做一些事 66
秘笈29 用派生類的成員初始化基類 67
第4章 編譯時技巧 71
秘笈30 在編譯時檢查大小 71
秘笈31 在整數類型中啟用模板函數 75
秘笈32 在實數類型中禁用模板函數 77
秘笈33 從數值創建一個類型 80
秘笈34 實現類型特征 82
秘笈35 為模板參數選擇最佳操作符 83
秘笈36 在C++03中獲取一個表達式的類型 86
第5章 多線程 89
秘笈37 創建一個執行線程 89
秘笈38 對公共資源的同步訪問 92
秘笈39 利用原子性快速訪問公共資源 96
秘笈40 創建work_queue類 98
秘笈41 多讀者單寫者鎖 102
秘笈42 創建對每個線程都是獨占的變量 104
秘笈43 中斷線程 106
秘笈44 操縱一組線程 108
第6章 處理任務 109
秘笈45 注冊任務用於處理任意數據類型 109
秘笈46 制作定時器並把定時器事件作為任務處理 113
秘笈47 將網絡通信作為一個任務 116
秘笈48 接受傳入的連接 121
秘笈49 並行執行不同的任務 125
秘笈50 輸送任務處理 127
秘笈51 制作一個非阻塞障礙 131
秘笈52 存儲一個異常並用它制作任務 135
秘笈53 作為任務獲取和處理系統信號 138
第7章 處理字符串 142
秘笈54 改變大小寫及不區分大小寫的比較 142
秘笈55 使用正則表達式匹配字符串 144
秘笈56 使用正則表達式查找和替換字符串 147
秘笈57 使用安全的類似printf的函數格式化字符串 150
秘笈58 替換和刪除字符串 152
秘笈59 用兩個迭代器表示字符串 153
秘笈60 使用string類型的引用 156
第8章 元編程 160
秘笈61 使用「類型向量」類型 160
秘笈62 操作類型向量 164
秘笈63 在編譯時獲取一個函數的結果類型 168
秘笈64 制作高階元函數 170
秘笈65 懶惰地對元函數求值 172
秘笈66 將所有元組元素轉換為字符串 175
秘笈67 拆分元組 178
第9章 容器 182
秘笈68 以超快速的方式比較字符串 182
秘笈69 使用無序集合和映射 186
秘笈70 制作值也是一個鍵的映射 189
秘笈71 使用多索引容器 192
秘笈72 從單鏈表和內存池獲得好處 197
秘笈73 使用平面關聯式容器 200
第10章 收集平台和編譯器信息 204
秘笈74 檢測int128支持 204
秘笈75 檢測RTTI支持 206
秘笈76 使用C++11外部模板加快編譯速度 208
秘笈77 使用更簡單的方法編寫元函數 209
秘笈78 在C++11中減少代碼量和提高用戶定義類型的性能 211
秘笈79 導入和導出函數和類的可移植方式 213
秘笈80 檢測Boost版本和最新的功能 215
第11章 與系統打交道 218
秘笈81 列出目錄中的文件 218
秘笈82 創建及刪除文件和目錄 220
秘笈83 將數據從一個進程快速傳遞到另一個進程 222
秘笈84 同步進程間通信 225
秘笈85 在共享內存中使用指針 228
秘笈86 讀取文件的最快方式 229
秘笈87 協程——保存狀態並推遲執行 232
第12章 揭開冰山一角 235
秘笈88 使用圖形 235
秘笈89 可視化圖形 239
秘笈90 使用真隨機數發生器 241
秘笈91 使用可移植的數學函數 243
秘笈92 編寫測試用例 244
秘笈93 將多個測試用例結合到一個測試模塊 246
秘笈94 處理圖像 248
前言
第1章 開始編寫應用程序 1
秘笈1 獲取配置選項 1
秘笈2 在容器/變量中存儲任意值 5
秘笈3 在變量/容器中存儲多個選擇類型 7
秘笈4 使用更安全的方式處理存儲多個選擇類型的容器 8
秘笈5 返回一個值或在沒有值的地方返回一個標志 12
秘笈6 從函數返回數組 14
秘笈7 將多個值結合成一個值 16
秘笈8 重新排列函數的參數 18
秘笈9 綁定一個值作為函數參數 21
秘笈10 使用C++11移動仿真 23
秘笈11 制作一個不可復制的類 26
秘笈12 制作一個不可復制但可移動的類 28
第2章 數據轉換 32
秘笈13 將字符串轉換為數值 32
秘笈14 將數值轉換為字符串 34
秘笈15 將數值轉換為數值 36
秘笈16 用戶定義類型與字符串的相互轉換 39
秘笈17 強制轉換多態對象 41
秘笈18 解析簡單的輸入 43
秘笈19 解析輸入 46
第3章 資源管理 51
秘笈20 管理作用域內的類指針 51
秘笈21 跨方法使用的類指針的引用計數 53
秘笈22 管理作用域內的數組指針 55
秘笈23 跨方法使用的數組指針的引用計數 56
秘笈24 在變量中存儲任意函數化對象 59
秘笈25 在變量中傳遞函數指針 61
秘笈26 在變量中傳遞C++11中的lambda函數 62
秘笈27 指針的容器 63
秘笈28 在退出作用域時做一些事 66
秘笈29 用派生類的成員初始化基類 67
第4章 編譯時技巧 71
秘笈30 在編譯時檢查大小 71
秘笈31 在整數類型中啟用模板函數 75
秘笈32 在實數類型中禁用模板函數 77
秘笈33 從數值創建一個類型 80
秘笈34 實現類型特征 82
秘笈35 為模板參數選擇最佳操作符 83
秘笈36 在C++03中獲取一個表達式的類型 86
第5章 多線程 89
秘笈37 創建一個執行線程 89
秘笈38 對公共資源的同步訪問 92
秘笈39 利用原子性快速訪問公共資源 96
秘笈40 創建work_queue類 98
秘笈41 多讀者單寫者鎖 102
秘笈42 創建對每個線程都是獨占的變量 104
秘笈43 中斷線程 106
秘笈44 操縱一組線程 108
第6章 處理任務 109
秘笈45 注冊任務用於處理任意數據類型 109
秘笈46 制作定時器並把定時器事件作為任務處理 113
秘笈47 將網絡通信作為一個任務 116
秘笈48 接受傳入的連接 121
秘笈49 並行執行不同的任務 125
秘笈50 輸送任務處理 127
秘笈51 制作一個非阻塞障礙 131
秘笈52 存儲一個異常並用它制作任務 135
秘笈53 作為任務獲取和處理系統信號 138
第7章 處理字符串 142
秘笈54 改變大小寫及不區分大小寫的比較 142
秘笈55 使用正則表達式匹配字符串 144
秘笈56 使用正則表達式查找和替換字符串 147
秘笈57 使用安全的類似printf的函數格式化字符串 150
秘笈58 替換和刪除字符串 152
秘笈59 用兩個迭代器表示字符串 153
秘笈60 使用string類型的引用 156
第8章 元編程 160
秘笈61 使用「類型向量」類型 160
秘笈62 操作類型向量 164
秘笈63 在編譯時獲取一個函數的結果類型 168
秘笈64 制作高階元函數 170
秘笈65 懶惰地對元函數求值 172
秘笈66 將所有元組元素轉換為字符串 175
秘笈67 拆分元組 178
第9章 容器 182
秘笈68 以超快速的方式比較字符串 182
秘笈69 使用無序集合和映射 186
秘笈70 制作值也是一個鍵的映射 189
秘笈71 使用多索引容器 192
秘笈72 從單鏈表和內存池獲得好處 197
秘笈73 使用平面關聯式容器 200
第10章 收集平台和編譯器信息 204
秘笈74 檢測int128支持 204
秘笈75 檢測RTTI支持 206
秘笈76 使用C++11外部模板加快編譯速度 208
秘笈77 使用更簡單的方法編寫元函數 209
秘笈78 在C++11中減少代碼量和提高用戶定義類型的性能 211
秘笈79 導入和導出函數和類的可移植方式 213
秘笈80 檢測Boost版本和最新的功能 215
第11章 與系統打交道 218
秘笈81 列出目錄中的文件 218
秘笈82 創建及刪除文件和目錄 220
秘笈83 將數據從一個進程快速傳遞到另一個進程 222
秘笈84 同步進程間通信 225
秘笈85 在共享內存中使用指針 228
秘笈86 讀取文件的最快方式 229
秘笈87 協程——保存狀態並推遲執行 232
第12章 揭開冰山一角 235
秘笈88 使用圖形 235
秘笈89 可視化圖形 239
秘笈90 使用真隨機數發生器 241
秘笈91 使用可移植的數學函數 243
秘笈92 編寫測試用例 244
秘笈93 將多個測試用例結合到一個測試模塊 246
秘笈94 處理圖像 248
網路書店
類別
折扣
價格
-
新書87折$308