百度云及其他网盘下载地址:点我

编辑推荐

  软件“风格”所要讨论的主题是如何在开销与功能之间、优雅与可维护性之间、灵活。性与过分灵活之间寻找完美的平街点。在本书中,著名的C++大师Herb Sutter给出了40个编程问题。其目的是为了使读者不仅“知其然”,更要“知其所以然”,并帮助读者在软件开发中进行正确的决策。本书是围绕实际问题及其解决方案展开论述的,对一些至关重要的C++细节和相互关系提出了新的见解,为当今的关键C++编程技术(如泛型编程、STL、异常安全等)提供了新的策略。

媒体推荐

书评

软件“风格”所要讨论的主题是如何在开销与功能之间、优雅与可维护性之间、灵活性与过分灵活之间寻找完美的平衡点。在本书中,著名的C++大师Herb Sutter给出了40个编程问题,其目的是为了使读者不仅“知其然”,更要“知其所以然”,并帮助读者在软件开发中进行正确的决策。
本书是围绕实际问题及其解决方案展开论述的,对一些至关重要的C++细节和相互关系提出了新的见解,为当今的关键C++编程技术(如泛型编程、STL、异常安全等)提供了新的策略。读者会在书中找到下列问题的答案。
·可以从STL本身学习哪些库设计的知识?
·如何避免削弱甚至损害模板代码的通用性?
·为什么不应该对函数模板进行特化?正确的做法是什么?
·异常安全如何超越TRY和CATCH语句?
·什么情况下应当“泄漏”一个类的私有成分,怎么做?
·如何让一个类不受版本变动的影响?
·使用标准库容器的实际内存开销是多少?
·如何使用CONST才能真正优化代码?
·内联对程序性能有何影响?
·为什么有些看似错误的代码实际上却能够通过编译且运行得很好?为什么我们要关心这种情况?
·STD::STRING的设计有什么问题?
本书使读者能够在设计、架构和编码的过程中保持良好的风格,从而编写出更健壮和更高效的C++软件。

作者简介

  Herb Sutter ISO C++标准委员会主席,C++ Users Journal杂志特邀编辑和专栏作家。他目前在微软公司领导NET环境下C++语言扩展的设计工作。除本书外,他还撰写了三本广受赞誉的图书: Exceptional C++ Style(中文版即将由人民邮电出版社出版)、Exceptional C++ Style和More Exceptional C++ Style。

目录

泛型编程与C++标准库
第1条 vector的使用
第2条 字符串格式化的“动物庄园”之一:sprintf
第3条 字符串格式化的“动物庄园”之二:标准的(或极度优雅的)替代方案.
第4条 标准库成员函数
第5条 泛型性的风味之一:基础
第6条 泛型性的风味之二:够“泛”了吗
第7条 为什么不特化函数模板
第8条 友元模板
第9条 导出限制之一:基础
第10条 导出限制之二:相互影响,可用性问题以及准则
异常安全问题及相关技术
第1l条 try和catch
第12条 异常安全性:值得吗
第13条 对异常规格的实际考虑
类的设计、继承和多态
第14条 顺序,顺序!
第15条 访问权限的使用
第16条 (几乎)私有
第17条 封装
第18条 虚拟
第19条 对派生类施加规则
内存和资源管理
第20条 内存中的容器之一:内存管理的层次
第21条 内存中的容器之二:它到底有多大
第22条 进行new操作,也许会抛出异常之一:new的方方面面
第23条 进行new操作,也许会抛出异常之二:内存管理中的实际问题
优化和效率
第24条 常量优化
第25条 再论内联
第26条 数据格式和效率之一:什么时候压缩是真正重要的
第27条 数据格式和效率之二:(甚至更少的)位操纵
陷阱、缺陷和谜题
第28条 不是关键字的关键字(或者:另一种注释)
第29条 这是初始化吗
第30条 要么double要么彻底完蛋
第31条 狂乱的代码
第32条 小小的拼写错误?鬼画符似的语言以及其他奇形怪状的东西
第33条 操作符,无处不在的操作符
风格案例研究
第34条 索引表
第35条 泛型回调
第36条 构造式union
第37条 分解std::string之一:概观std::string
第38条 分解std::stnng之二:重构std::string
第39条 分解std::string之三:给std::str¨1g瘦身
第40条 分解std::string之四:再论std::stmg
参考文献
索引

百度云及其他网盘下载地址:点我

最新文章

  1. 昨天开发引入的两个错误--Parcelable
  2. [问题2014A02] 解答一(两次升阶法,由张钧瑞同学、董麒麟同学提供)
  3. What are the advantages of ReLU over sigmoid function in deep neural network?
  4. java基础十[包、Jar存档文件和部署](阅读Head First Java记录)
  5. 关于跨域的ajax
  6. wamp5 忘记mysql root密码 重置方法
  7. 【转】 Linux IIO子系统分析-1-概述
  8. 克鲁斯卡尔(Kruskal)算法
  9. boneCP的连接管理
  10. 华为悦盒 EC6108V9U 破解过程全记录(root扫盲) [原创]
  11. Linux内核调优参数说明
  12. Announcing Microsoft Research Open Data – Datasets by Microsoft Research now available in the cloud
  13. 【Codeforces 339】Xenia and Bit Operations
  14. (栈 注意格式)P1739 表达式括号匹配 洛谷
  15. SpringBatch Sample (五)(复合格式文件的读、多文件的写)
  16. ADO.NET系列之事务和调用存储过程
  17. Scala学习之路 (三)Scala的基本使用
  18. 【shell】各种括号()、(())、[]、[[]]、{}的使用
  19. lua正则表达式如何匹配中文
  20. 关于 [TNS-12516 TNS:listener could not find instance with matching protocol stack ]

热门文章

  1. WPF应用程序的启动画面[Splash Screen本质分析]
  2. Win8 Metro(C#)数字图像处理--2.57一维最大熵法图像二值化
  3. SqlServer 禁止架构更改的复制中手动修复使发布和订阅中分别增加的字段同步
  4. Android Contact 导入导出 vcf格式(不依赖第三方库)
  5. 一个基于jQuery写的弹窗效果(附源码)
  6. flask(二)
  7. screen命令使用简单说明
  8. Spring Boot的学习之路(01):缘起
  9. jvm(4)---垃圾回收(哪些对象可以被回收)
  10. Python|网页转PDF,PDF转图片爬取校园课表~