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

编辑推荐

  软件“风格”所要讨论的主题是如何在开销与功能之间、优雅与可维护性之间、灵活。性与过分灵活之间寻找完美的平街点。在本书中,著名的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
参考文献
索引

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

c++学习书籍推荐《Exceptional C++ Style》下载的更多相关文章

  1. C语言学习书籍推荐《C Primer Plus(中文版)(第5版)》下载

    普拉塔 (Prata S.) (作者), 云巅工作室 (译者) <C Primer Plus(中文版)(第5版)>共17章,介绍了C语言的基础知识,包括数据类型.格式化输入输出.运算符.表 ...

  2. java虚拟机的学习书籍推荐

    javaEE开发已然是一个老生常谈的话题了,但经典之所以会成为经典,就是因为有可重复琢磨之处,每一次的反复推敲都会有不一样的收获.如果你不满足于做一个只会写if…else…的Java程序员,而是希望更 ...

  3. C++学习书籍推荐《Accelerated C++中文版》下载

    百度云及其他网盘下载地址:点我 媒体推荐 书评 这是一本一流的C++入门书,它采用了一种和实践相结合的方式来解决具体的问题.相比我所见过的其他C++入门书来说,本书以令人惊奇的紧凑格式覆盖了更多的关于 ...

  4. C语言学习书籍推荐《C陷阱与缺陷》下载

    下载地址:点我 凯尼格 (作者), 高巍 (译者) <C和C++经典著作:C陷阱与缺陷>适合有一定经验的C程序员阅读学习,即便你是C编程高手,<C和C++经典著作:C陷阱与缺陷> ...

  5. C语言学习书籍推荐《C和指针 Pointers On C》下载

    <C和指针 POINTERS ON C>提供与C语言编程相关的全面资源和深入讨论.本书通过对指针的基础知识和高 级特性的探讨,帮助程序员把指针的强大功能融入到自己的程序中去.  全书共18 ...

  6. java学习书籍推荐

    1. Java 语言基础 谈到Java 语言基础学习的书籍,大家肯定会推荐Bruce Eckel 的<Thinking in Java >.它是一本写的相当深刻的技术书籍,Java 语言基 ...

  7. linux学习书籍推荐linux学习书籍推荐

    引用地址:http://www.cnblogs.com/notepi/archive/2013/06/15/3137103.html Linux 学习书目推荐 Linux基础 1.<Linux与 ...

  8. 19年最新 Python0基础学习书籍推荐(内涵PDF地址以及书籍源码)

    去年看过一篇文章,是关于18年的最适合0基础学习的书籍,今年,最新的书籍也已经统计出来.书籍的PDF太过于难找,所以很多PDF都找不到. 仅仅只能找到英文版PDF 本文章统计了18.19并做过对比,在 ...

  9. c++学习书籍推荐《C++沉思录》下载

    百度云及其他网盘下载地址:点我 编辑推荐 经典C++图书,应广大读者的强烈要求再版 目录 第0章 序幕第一篇 动机第1章 为什么我用C++第2章 为什么用C++工作第3章 生活在现实世界中 第二篇 类 ...

  10. c++学习书籍推荐《C++编程思想第一卷》下载

    百度云及其他网盘下载地址:点我 编辑推荐 <C++编程思想>(第1卷)(第2版)第1版荣获"软件开发"杂志评选的1996年度 图书震撼大奖,中文版自2000年推出以来, ...

随机推荐

  1. 【WPF】UI虚拟化之------自定义VirtualizingWrapPanel

    原文:[WPF]UI虚拟化之------自定义VirtualizingWrapPanel 前言 前几天QA报了一个关于OOM的bug,在排查的过程中发现,ListBox控件中被塞入了过多的Item,而 ...

  2. Lambda表达式的参数捕获

    以常用的Action委托为例: 有如下3个无参数的方法: public void Function() { //Do something } public void Function2() { //D ...

  3. 备份一个支持虚拟化的wrappanel

    public class VirtualizingWrapPanel : VirtualizingPanel, IScrollInfo { #region Fields UIElementCollec ...

  4. git全程笔记(mac环境) git for mac

    一.git的安装 最简单的方式就是直接用git installer安装git(从git官网上下载一个git installler就可以直接安装了),mac上有自带的git,可能版本比较低 后面显示的是 ...

  5. C#原子性运算 interlocked.compareExchanged

    缘起: 假设有一个类myClass, myclass里有一个count属性. 在多线程的环境下 每个线程中 直接使用count++,  如果两个线程并行执行时, 两个线程中的一个的结果会被覆掉, 非线 ...

  6. C# XML 去xmlns:xsd和xmlns:xsi属性

    public static XElement WithoutNamespaces(this XElement element) { if (element == null) return null; ...

  7. String内存结构

    var s: AnsiString; begin s := '1234567890'; showmessage(s); end; 变量s的内存结构为A8 03 01 00 FF FF FF FF 0A ...

  8. Java底层知识学习:Bytecode and JMM

    最近在跟着耗子哥的程序员练级指南学习Java底层知识,结合<深入理解Java虚拟机>这本书在看,写笔记,看资料,成长中…… 目前看完了第二章JMM和各内存区OOM的情况 一篇图文并茂介绍字 ...

  9. 零元学Expression Blend 4 - Chapter 2 入门界面简介

    原文:零元学Expression Blend 4 - Chapter 2 入门界面简介 在这篇教学我将会介绍Expression Blend 4的基本界面,虽然有些网站已经有做了介绍,为了整个教学的完 ...

  10. 关于VS编译DevExpress默认产生几个多余的语言包的问题解决

    原文 关于VS编译DevExpress默认产生几个多余的语言包的问题解决 VS15开始对于非系统的Dll都会默认复制到本地,即bin\debug下面,复制dll到本地好处在于发布的时候不用再去寻找相关 ...