深入实践Boost

深入实践Boost

Boost程序库开发的94个秘笈

暂无评价综合评分的显示会考虑用户真实性等多项因素,每部作品出现综合评分的时间不定。
7.922 评价豆瓣读书
免费试读

作品简介

Boost库是由专业人员开发,在多个平台和处理器架构上测试,并适用于广泛任务的可靠解决方案。本书将带你踏上简化应用程序开发过程的旅程,引导你更快地编写完美的应用程序。本书详细阐述多线程、网络编程、元编程和泛型编程,并探讨如何只编写一次程序,就能在Linux、Windows、Mac OS和Android操作系统中使用。书中汇集Boost库开发者创建的许多清晰、实用的秘笈,循序渐进地引导读者了解并充分利用Boost和C++的真正优势,以及一些现成可用的解决方案,快速开发高品质、可移植的应用程序。本书主要内容:涵盖日常使用的新数据类型、图形处理的基础知识,以及一些编程技巧。讨论如何使用智能指针管理资源,根除内存泄漏问题,以及如何使用Boost库执行与多线程和常见的字符串相关的任务。讲解如何将处理、计算和相互作用拆分为仿函数(任务)并且独立地完成这些任务。探讨用于检测编译器、平台和Boost功能的各种辅助宏。在C++03中使用精选的C++11特性。

波卢欣(Antony Polukhin),资深技术专家,拥有多年Boost软件开发经验。他在应用程序开发集成、程序包实现、面向图形的数据库查询和面向对象的软件开发等领域拥有独到的见解,积累颇丰,曾为Asterisc的商业替代软件开发业务逻辑。他开发或维护了许多Boost库,如Any、LexicalCast、TypeTraits、Variant等。目前他开发了一个面向图形的数据库查询引擎,并继续为开源做贡献。

作品目录

  1. 译者序
  2. 前言
  3. 第1章 开始编写应用程序
  4. 秘笈1 获取配置选项
  5. 秘笈2 在容器/变量中存储任意值
  6. 秘笈3 在变量/容器中存储多个选择类型
  7. 秘笈4 使用更安全的方式处理存储多个选择类型的容器
  8. 秘笈5 返回一个值或在没有值的地方返回一个标志
  9. 秘笈6 从函数返回数组
  10. 秘笈7 将多个值结合成一个值
  11. 秘笈8 重新排列函数的参数
  12. 秘笈9 绑定一个值作为函数参数
  13. 秘笈10 使用C++11移动仿真
  14. 秘笈11 制作一个不可复制的类
  15. 秘笈12 制作一个不可复制但可移动的类
  16. 第2章 数据转换
  17. 秘笈13 将字符串转换为数值
  18. 秘笈14 将数值转换为字符串
  19. 秘笈15 将数值转换为数值
  20. 秘笈16 用户定义类型与字符串的相互转换
  21. 秘笈17 强制转换多态对象
  22. 秘笈18 解析简单的输入
  23. 秘笈19 解析输入
  24. 第3章 资源管理
  25. 秘笈20 管理作用域内的类指针
  26. 秘笈21 跨方法使用的类指针的引用计数
  27. 秘笈22 管理作用域内的数组指针
  28. 秘笈23 跨方法使用的数组指针的引用计数
  29. 秘笈24 在变量中存储任意函数化对象
  30. 秘笈25 在变量中传递函数指针
  31. 秘笈26 在变量中传递C++11中的lambda函数
  32. 秘笈27 指针的容器
  33. 秘笈28 在退出作用域时做一些事
  34. 秘笈29 用派生类的成员初始化基类
  35. 第4章 编译时技巧
  36. 秘笈30 在编译时检查大小
  37. 秘笈31 在整数类型中启用模板函数
  38. 秘笈32 在实数类型中禁用模板函数
  39. 秘笈33 从数值创建一个类型
  40. 秘笈34 实现类型特征
  41. 秘笈35 为模板参数选择最佳操作符
  42. 秘笈36 在C++03中获取一个表达式的类型
  43. 第5章 多线程
  44. 秘笈37 创建一个执行线程
  45. 秘笈38 对公共资源的同步访问
  46. 秘笈39 利用原子性快速访问公共资源
  47. 秘笈40 创建work_queue类
  48. 秘笈41 多读者单写者锁
  49. 秘笈42 创建对每个线程都是独占的变量
  50. 秘笈43 中断线程
  51. 秘笈44 操纵一组线程
  52. 第6章 处理任务
  53. 秘笈45 注册任务用于处理任意数据类型
  54. 秘笈46 制作定时器并把定时器事件作为任务处理
  55. 秘笈47 将网络通信作为一个任务
  56. 秘笈48 接受传入的连接
  57. 秘笈49 并行执行不同的任务
  58. 秘笈50 输送任务处理
  59. 秘笈51 制作一个非阻塞障碍
  60. 秘笈52 存储一个异常并用它制作任务
  61. 秘笈53 作为任务获取和处理系统信号
  62. 第7章 处理字符串
  63. 秘笈54 改变大小写及不区分大小写的比较
  64. 秘笈55 使用正则表达式匹配字符串
  65. 秘笈56 使用正则表达式查找和替换字符串
  66. 秘笈57 使用安全的类似printf的函数格式化字符串
  67. 秘笈58 替换和删除字符串
  68. 秘笈59 用两个迭代器表示字符串
  69. 秘笈60 使用string类型的引用
  70. 第8章 元编程
  71. 秘笈61 使用“类型向量”类型
  72. 秘笈62 操作类型向量
  73. 秘笈63 在编译时获取一个函数的结果类型
  74. 秘笈64 制作高阶元函数
  75. 秘笈65 懒惰地对元函数求值
  76. 秘笈66 将所有元组元素转换为字符串
  77. 秘笈67 拆分元组
  78. 第9章 容器
  79. 秘笈68 以超快速的方式比较字符串
  80. 秘笈69 使用无序集合和映射
  81. 秘笈70 制作值也是一个键的映射
  82. 秘笈71 使用多索引容器
  83. 秘笈72 从单链表和内存池获得好处
  84. 秘笈73 使用平面关联式容器
  85. 第10章 收集平台和编译器信息
  86. 秘笈74 检测int128支持
  87. 秘笈75 检测RTTI支持
  88. 秘笈76 使用C++11外部模板加快编译速度
  89. 秘笈77 使用更简单的方法编写元函数
  90. 秘笈78 在C++11中减少代码量和提高用户定义类型的性能
  91. 秘笈79 导入和导出函数和类的可移植方式
  92. 秘笈80 检测Boost版本和最新的功能
  93. 第11章 与系统打交道
  94. 秘笈81 列出目录中的文件
  95. 秘笈82 创建及删除文件和目录
  96. 秘笈83 将数据从一个进程快速传递到另一个进程
  97. 秘笈84 同步进程间通信
  98. 秘笈85 在共享内存中使用指针
  99. 秘笈86 读取文件的最快方式
  100. 秘笈87 协程——保存状态并推迟执行
  101. 第12章 揭开冰山一角
  102. 秘笈88 使用图形
  103. 秘笈89 可视化图形
  104. 秘笈90 使用真随机数发生器
  105. 秘笈91 使用可移植的数学函数
  106. 秘笈92 编写测试用例
  107. 秘笈93 将多个测试用例结合到一个测试模块
  108. 秘笈94 处理图像
载入中