中图网(原中国图书网):网上书店,中文字幕在线一区二区三区,尾货特色书店,中文字幕在线一区,30万种特价书低至2折!

歡迎光臨中圖網 請 | 注冊

包郵 C++高性能編程

出版社:中國電力出版社出版時間:2024-01-01
開本: 16開 頁數: 476
本類榜單:工業技術銷量榜
中 圖 價:¥84.4(5.7折) 定價  ¥148.0 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>

C++高性能編程 版權信息

  • ISBN:9787519883058
  • 條形碼:9787519883058 ; 978-7-5198-8305-8
  • 裝幀:平裝
  • 冊數:暫無
  • 重量:暫無
  • 所屬分類:>

C++高性能編程 本書特色

通過書中豐富、典型的代碼示例,讀者將快速把握C++的特性和編程技巧。

C++高性能編程 內容簡介

本書共分為14 章,包括C++概述,C++必b備技能,分析和度量性能,數據結構,算法,范圍和視圖,內存管理,編譯時編程,Utilities 基礎,代理對象和惰性求值,并發,協程和惰性生成器,用協程進行異步編程和并行算法。
本書期望你具備基本的C++和計算機體系結構知識,并對提升自身專業技能真正感興趣。希望閱讀本書后,能對如何在性能和語法上改進自己的C++代碼有更深入的認識。

C++高性能編程 目錄

目錄 序 前言 第1 章 C++概述 1 1.1 為什么是C++ 1 1.1.1 零成本抽象 · 1 1.1.2 可移植性 · 4 1.2 與其他語言對比 4 1.2.1 競爭語言和性能 · 5 1.2.2 與性能無關的C++語言特性 · 7 1.2.3 C++的局限性 12 1.3 本書使用的庫和編譯器 13 1.4 總結 13 第2 章 C++**技能 · 14 2.1 用auto 關鍵字進行自動類型推斷 14 2.1.1 在函數簽名中使用auto 14 2.1.2 對變量使用auto 16 2.1.3 指針的常量傳播 18 2.2 移動語義 19 2.2.1 拷貝構造函數,交換與移動 20 2.2.2 資源獲取與五法則 22 2.2.3 具名變量和右值 25 2.2.4 默認移動語義和零法則 27 2.2.5 將&&修飾符應用于類成員函數 ·32 2.2.6 當拷貝被省略時,無論如何都不要移動 32 2.2.7 適時使用值傳遞 33 2.3 設計帶有錯誤處理的接口 35 2.3.1 契約 36 2.3.2 錯誤處理 39 2.4 函數對象和lambda 表達式 46 2.4.1 C++lambda 的基本語法 46 2.4.2 捕獲子句 47 2.4.3 為lambda 表達式分配C 函數指針 · 53 2.4.4 Lambda 類型 · 54 2.4.5 lambda 表達式和std::function · 54 2.4.6 泛型lambda 58 2.5 總結 60 第3 章 分析和度量性能 · 61 3.1 漸進復雜度和大O 符號 61 3.1.1 增長率 66 3.1.2 均攤時間復雜度 67 3.2 度量什么?該如何度量? 69 3.2.1 性能特征 71 3.2.2 運行時間的提升 71 3.2.3 性能計數器 72 3.2.4 *佳實踐:性能測試 73 3.3 了解代碼和熱點 74 3.3.1 插樁型剖析器 75 3.3.2 采樣型剖析器 77 3.4 微基準測試 79 3.4.1 阿姆達爾定律 80 3.4.2 微基準測試的隱患 81 3.4.3 微基準測試實例 81 3.5 總結 87 第4 章 數據結構 · 88 4.1 計算機內存的特性 88 4.2 標準庫容器 92 4.2.1 序列式容器 92 4.2.2 關聯式容器 96 4.2.3 容器適配器 ·100 4.3 使用視圖 103 4.4 性能方面的考量 106 4.4.1 在復雜度與開銷間尋求平衡 · 106 4.4.2 了解并使用適當的API 函數 107 4.5 并行數組 108 4.6 總結 115 第5 章 算法 116 5.1 標準庫算法概述 116 5.1.1 標準庫算法的演進 · 116 5.1.2 解決日常問題 · 117 5.2 迭代器與范圍 124 5.2.1 迭代器 · 124 5.2.2 哨兵值與past-the-end 迭代器 125 5.2.3 范圍 · 126 5.2.4 迭代器類別 · 127 5.3 標準算法的特點 129 5.4 算法不會改變容器大小 129 5.4.1 有輸出的算法需要自己分配數據 · 130 5.4.2 算法默認使用operator==()和operator<() 131 5.4.3 使用projection 的約束算法 132 5.4.4 算法要求move 不能拋出異常 133 5.4.5 算法具有復雜度保證 · 133 5.4.6 算法的性能與C 語言庫中的等價函數一樣好 134 5.5 編寫和使用泛型算法 135 5.5.1 非泛型算法 · 135 5.5.2 泛型算法 · 136 5.5.3 可被泛型算法使用的數據結構 · 137 5.6 *佳實踐 139 5.6.1 使用約束算法 · 139 5.6.2 只對需要檢索的數據進行排序 · 139 5.6.3 使用標準算法而非原始for 循環 142 5.6.4 避免容器拷貝 · 148 5.7 總結 149 第6 章 范圍和視圖 150 6.1 Ranges 庫的動機 · 150 6.2 理解Ranges 庫中的視圖 · 153 6.2.1 視圖是可組合的 ·154 6.2.2 范圍視圖帶有范圍適配器 ·155 6.2.3 視圖是具有復雜度保證的非具權范圍 ·156 6.2.4 視圖不改變底層容器 ·157 6.2.5 視圖可以被具體化為容器 ·157 6.2.6 視圖是惰性求值的 ·158 6.3 標準庫中的視圖 160 6.3.1 范圍視圖 ·160 6.3.2 生成視圖 ·160 6.3.3 轉換視圖 ·160 6.3.4 再談std::string_view 與std::span 162 6.4 Ranges 庫的未來 · 164 6.5 總結 164 第7 章 內存管理 165 7.1 計算機內存 165 7.1.1 虛擬地址空間 ·165 7.1.2 內存頁 ·166 7.1.3 抖動 ·167 7.2 進程內存 167 7.2.1 棧內存 ·168 7.2.2 堆內存 ·171 7.3 內存中的對象 172 7.3.1 創建與銷毀對象 ·172 7.3.2 內存對齊 ·176 7.3.3 內存補齊 ·179 7.4 內存所有權 182 7.4.1 隱式處理資源 ·183 7.4.2 容器 ·185 7.4.3 智能指針 ·185 7.5 小對象優化 188 7.6 自定義內存管理 191 7.6.1 創建arena 192 7.6.2 自定義內存分配器 · 196 7.6.3 使用多態內存分配器 · 201 7.6.4 實現自定義內存資源 · 205 7.7 總結 207 第8 章 編譯時編程 208 8.1 模板元編程介紹 208 8.2 創建模板 209 8.3 使用整數作為模板參數 211 8.4 提供模板的特化 212 8.5 編譯器如何處理模板函數 212 8.6 縮寫函數模板 213 8.7 使用decltype 接收變量類型 214 8.8 類型萃取 215 8.8.1 類型萃取的類別 · 215 8.8.2 類型萃取的使用 · 216 8.9 常量表達式的使用 217 8.9.1 運行時環境中的constexpr 函數 218 8.9.2 使用consteval 聲明即時函數 219 8.9.3 編譯時多態與運行時多態 · 222 8.9.4 示例:使用if constexpr 的泛型取模函數 223 8.10 編譯時檢查程序錯誤 224 8.10.1 利用assert 在運行時觸發錯誤 224 8.10.2 利用static_assert 在編譯時觸發錯誤 · 225 8.11 約束與概念 226 8.11.1 Point2D 模板,無約束版 · 226 8.11.2 泛型接口與不友好的報錯信息 227 8.11.3 約束和概念的語法 229 8.11.4 標準庫中的概念 234 8.12 元編程實例 235 8.12.1 示例1:創建通用的安全強制轉換函數 235 8.12.2 示例2:在編譯時對字符串進行哈希處理 238 8.13 總結 · 245 第9 章 Utilities 基礎 · 246 9.1 用std::optional 表示可選值· 246 9.1.1 可選的返回值 ·247 9.1.2 可選的成員變量 ·248 9.1.3 避免在枚舉中使用空狀態 ·248 9.1.4 std::optional 的排序與比較 249 9.2 固定大小的異質集合 250 9.2.1 std::pair 250 9.2.2 std::tuple 251 9.2.3 訪問元組中的成員 ·252 9.2.4 遍歷std::tuple 的元素 ·253 9.2.5 元組展開 ·254 9.2.6 為元組實現其他算法 ·255 9.2.7 元組元素訪問 ·256 9.2.8 結構化綁定 ·257 9.3 可變參數模板 258 9.4 可動態調整大小的異質集合 261 9.4.1 std::variant 262 9.4.2 std::variant 的異常安全性 264 9.4.3 訪問variant ·265 9.5 使用了variant 的異質集合 · 266 9.5.1 訪問variant 容器中的值 267 9.5.2 全局函數std::get() 268 9.6 實際案例 269 9.6.1 示例1:投影與比較運算符 269 9.6.2 示例2:反射 270 9.7 總結 273 第10 章 代理對象和惰性求值 · 274 10.1 惰性求值和代理對象簡介· 274 10.1.1 惰性求值與急切計值 274 10.1.2 代理對象 275 10.2 避免使用代理對象構建對象 276 10.2.1 使用代理比較連接的字符串 276 10.2.2 實現代理 277 10.2.3 右值修飾符 278 10.2.4 存儲拼接好的代理對象 279 10.2.5 性能評估 279 10.3 延遲sqrt 計算 280 10.3.1 一個簡單的二維向量類 280 10.3.2 示例背后的數學概念 281 10.3.3 實現LengthProxy · 283 10.3.4 用LengthProxy 比較長度 285 10.3.5 用LengthProxy 計算長度 286 10.3.6 性能評估 287 10.4 探索運算符重載和代理對象 289 10.5 總結 291 第11 章 并發 · 292 11.1 了解并發的基本概念 292 11.2 是什么讓并發編程變得困難? 293 11.3 并發和并行 293 11.3.1 時間切片 294 11.3.2 共享內存 295 11.3.3 數據競爭 296 11.3.4 互斥鎖 298 11.3.5 死鎖 299 11.3.6 同步任務與異步任務 299 11.4 C++中的并發編程 · 300 11.4.1 線程支持庫 301 11.4.2 C++20 中其他的同步原語 315 11.4.3 C++中的原子操作 326 11.4.4 C++內存模型 335 11.5 無鎖編程 339 11.6 性能指南 341 11.6.1 避免競爭 341 11.6.2 避免阻塞操作 342 11.6.3 線程/CPU 核數 ·342 11.6.4 線程優先級 343 11.6.5 線程親和性 343 11.6.6 偽共享 344 11.7 總結 · 345 第12 章 協程和惰性生成器 · 346 12.1 幾個引人入勝的例子 · 347 12.2 協程抽象 · 348 12.2.1 子例程和協程 349 12.2.2 在CPU 上運行子例程和協程 350 12.2.3 無棧協程和有棧協程 358 12.2.4 目前為止所學的內容 360 12.3 C++中的協程 · 360 12.3.1 標準C++中協程的涵蓋內容 361 12.3.2 C++函數成為協程的關鍵是什么? ·361 12.3.3 一個*簡但完整的示例 363 12.3.4 分配協程狀態 368 12.3.5 避免懸空引用 370 12.3.6 錯誤處理 375 12.3.7 自定義點 375 12.4 生成器 · 376 12.4.1 實現生成器 376 12.4.2 使用Generator 類 ·380 12.4.3 在實際工作中使用生成器 387 12.5 性能 · 395 12.6 總結 · 395 第13 章 用協程進行異步編程 · 396 13.1 再談可等待類型 · 396 13.2 實現一個基本任務類型 · 398 13.2.1 處理返回值和異常 401 13.2.2 恢復等待中的協程 402 13.2.3 支持void Task 404 13.2.4 同步等待任務完成 406 13.2.5 使用sync_wait()測試異步任務 411 13.3 封裝基于回調的API · 412 13.4 使用Boost.Asio 實現的并發服務器 416 13.4.1 實現服務器 416 13.4.2 運行并連接服務器 418 13.4.3 在服務器示例中實現的(以及未實現的)功能 419 13.5 總結 420 第14 章 并行算法 · 421 14.1 并行的重要性 421 14.2 并行算法 421 14.2.1 度量并行算法 422 14.2.2 回顧阿姆達爾定律 423 14.2.3 實現并行std::transform() · 424 14.2.4 并行化std::count_if() 434 14.2.5 并行化std::copy_if() 435 14.3 標準庫中的并行算法 441 14.3.1 執行策略 442 14.3.2 異常處理 446 14.3.3 并行算法的新增和修改 447 14.3.4 并行化基于索引的for 循環 449 14.4 在GPU 上執行算法 450 14.5 總結 451 14.6 分享經驗 452
展開全部

C++高性能編程 作者簡介

[瑞典]比約恩·安德里斯特(Bj?rn Andrist),是一名自由軟件顧問,目前專注于音頻應用程序。十多年來,他一直從事C ++的專業工作,項目范圍從Unix服務器應用程序到臺式機和移動設備上的實時音頻應用程序,擁有KTH Royal Technology Institute的計算機工程學士學位和計算機科學碩士學位。他還教授算法和數據結構,并發編程和編程方法的課程。 [瑞典]維克托·塞爾(Viktor Sehr),是Toppluva的主要開發人員,使用針對移動硬件的高度優化的圖形引擎。他在使用C ++方面擁有10年的專業經驗,并專注于實時圖形,音頻和建筑設計,擁有Link?ping大學的媒體科學碩士學位。他在Mentice和Raysearch Laboratories開發了醫學可視化軟件,并在Propellerhead Software開發了實時音頻應用程序。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 无锡市珂妮日用化妆品有限公司|珂妮日化官网|洗手液厂家 | 三防漆–水性三防漆–水性浸渍漆–贝塔三防漆厂家 | 葡萄酒灌装机-食用油灌装机-液体肥灌装设备厂家_青州惠联灌装机械 | 桥架-槽式电缆桥架-镀锌桥架-托盘式桥架 - 上海亮族电缆桥架制造有限公司 | 杭州高温泵_热水泵_高温油泵|昆山奥兰克泵业制造有限公司 | 12cr1mov无缝钢管切割-15crmog无缝钢管切割-40cr无缝钢管切割-42crmo无缝钢管切割-Q345B无缝钢管切割-45#无缝钢管切割 - 聊城宽达钢管有限公司 | 数码听觉统合训练系统-儿童感觉-早期言语评估与训练系统-北京鑫泰盛世科技发展有限公司 | 气弹簧定制-气动杆-可控气弹簧-不锈钢阻尼器-工业气弹簧-可调节气弹簧厂家-常州巨腾气弹簧供应商 | 山西3A认证|太原AAA信用认证|投标AAA信用证书-山西AAA企业信用评级网 | 旗杆生产厂家_不锈钢锥形旗杆价格_铝合金电动旗杆-上海锥升金属科技有限公司 | 三效蒸发器_多效蒸发器价格_四效三效蒸发器厂家-青岛康景辉 | 量子管通环-自清洗过滤器-全自动反冲洗过滤器-沼河浸过滤器 | 脉冲除尘器,除尘器厂家-淄博机械 | 兰州UPS电源,兰州山特UPS-兰州万胜商贸 | 冷热冲击试验箱_温度冲击试验箱价格_冷热冲击箱排名_林频厂家 | 管家婆-管家婆软件-管家婆辉煌-管家婆进销存-管家婆工贸ERP | 智能垃圾箱|垃圾房|垃圾分类亭|垃圾分类箱专业生产厂家定做-宿迁市传宇环保设备有限公司 | 手持式浮游菌采样器-全排二级生物安全柜-浙江孚夏医疗科技有限公司 | 地埋式垃圾站厂家【佳星环保】小区压缩垃圾中转站转运站 | 一体化污水处理设备-一体化净水设备-「山东梦之洁水处理」 | 清水-铝合金-建筑模板厂家-木模板价格-铝模板生产「五棵松」品牌 | 绿萝净除甲醛|深圳除甲醛公司|测甲醛怎么收费|培训机构|电影院|办公室|车内|室内除甲醛案例|原理|方法|价格立马咨询 | 比亚迪叉车-比亚迪电动叉车堆垛车托盘车仓储叉车价格多少钱报价 磁力去毛刺机_去毛刺磁力抛光机_磁力光饰机_磁力滚抛机_精密金属零件去毛刺机厂家-冠古科技 | 楼承板设备-楼承板成型机-免浇筑楼承板机器厂家-捡来 | RS系列电阻器,RK_RJ启动调整电阻器,RQ_RZ电阻器-上海永上电器有限公司 | 盛源真空泵|空压机-浙江盛源空压机制造有限公司-【盛源官网】 | 工程管道/塑料管材/pvc排水管/ppr给水管/pe双壁波纹管等品牌管材批发厂家-河南洁尔康建材 | 【连江县榕彩涂料有限公司】官方网站| 发电机价格|发电机组价格|柴油发电机价格|柴油发电机组价格网 | 好物生环保网、环保论坛 - 环保人的学习交流平台 | 众品家具网-家具品牌招商_家具代理加盟_家具门户的首选网络媒体。 | 劳动法网-专业的劳动法和劳动争议仲裁服务网 | 微波消解仪器_智能微波消解仪报价_高压微波消解仪厂家_那艾 | 杭州代理记账费用-公司注销需要多久-公司变更监事_杭州福道财务管理咨询有限公司 | 仿真茅草_人造茅草瓦价格_仿真茅草厂家_仿真茅草供应-深圳市科佰工贸有限公司 | IWIS链条代理-ALPS耦合透镜-硅烷预处理剂-上海顶楚电子有限公司 lcd条形屏-液晶长条屏-户外广告屏-条形智能显示屏-深圳市条形智能电子有限公司 | 亳州网络公司 - 亳州网站制作 - 亳州网站建设 - 亳州易天科技 | 主题班会网 - 安全教育主题班会,各类主题班会PPT模板 | 高压管道冲洗清洗机_液压剪叉式升降机平台厂家-林君机电 | 郑州宣传片拍摄-TVC广告片拍摄-微电影短视频制作-河南优柿文化传媒有限公司 | 掺铥光纤放大器-C/L波段光纤放大器-小信号光纤放大器-合肥脉锐光电技术有限公司 |