C++学习书籍推荐《Effective C++ 第三版(英文)》下载

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

作者简介

Scott Meyers is one of the world‘s foremost authorities on C++, providing training and consulting services to clients worldwide. He is the author of the best-selling Effective C++ series of books (Effective C++More Effective C++, and Effective STL) and of the innovative Effective C++ CD. He is consulting editor for Addison Wesley‘s Effective Software Development Series and is a founding member of the Advisory Board for The C++ Source (http://www.artima.com/cppsource). He holds a Ph.D. in Computer Science from Brown University. His web site is http://www.aristeia.com.

目录

Preface  xv

Acknowledgments  xvii

Introduction  1

Chapter 1: Accustoming Yourself to C++  11

Item 1: View C++ as a federation of languages.  11

Item 2: Prefer consts, enums, and inlines to #defines.  13

Item 3: Use const whenever possible.  17

Item 4: Make sure that objects are initialized before they’re used.  26

Chapter 2: Constructors, Destructors, and Assignment Operators  34

Item 5: Know what functions C++ silently writes and calls.  34

Item 6: Explicitly disallow the use of compiler-generated functions you do not want.  37

Item 7: Declare destructors virtual in polymorphic base classes.  40

Item 8: Prevent exceptions from leaving destructors.  44

Item 9: Never call virtual functions during construction or destruction.  48

Item 10: Have assignment operators return a reference to *this.  52

Item 11: Handle assignment to self in operator=.  53

Item 12: Copy all parts of an object.  57

Chapter 3: Resource Management  61

Item 13: Use objects to manage resources.  61

Item 14: Think carefully about copying behavior in resource-managing classes.  66

Item 15: Provide access to raw resources in resource-managing classes.  69

Item 16: Use the same form in corresponding uses of new and delete.  73

Item 17: Store newed objects in smart pointers in standalone statements.  75

Chapter 4: Designs and Declarations  78

Item 18: Make interfaces easy to use correctly and hard to use incorrectly.  78

Item 19: Treat class design as type design.  84

Item 20: Prefer pass-by-reference-to-const to pass-by-value.  86

Item 21: Don’t try to return a reference when you must return an object.  90

Item 22: Declare data members private.  94

Item 23: Prefer non-member non-friend functions to member functions.  98

Item 24: Declare non-member functions when type conversions should apply to all parameters. 102

Item 25: Consider support for a non-throwing swap.  106

Chapter 5: Implementations  113

Item 26: Postpone variable definitions as long as possible.  113

Item 27: Minimize casting.  116

Item 28: Avoid returning “handles” to object internals.  123

Item 29: Strive for exception-safe code.  127

Item 30: Understand the ins and outs of inlining.  134

Item 31: Minimize compilation dependencies between files.  140

Chapter 6: Inheritance and Object-Oriented Design  149

Item 32: Make sure public inheritance models “is-a.”  150

Item 33: Avoid hiding inherited names.  156

Item 34: Differentiate between inheritance of interface and inheritance of implementation.  161

Item 35: Consider alternatives to virtual functions.  169

Item 36: Never redefine an inherited non-virtual function.  178

Item 37: Never redefine a function’s inherited default parameter value.  180

Item 38: Model “has-a” or “is-implemented-in-terms-of” through composition.  184

Item 39: Use private inheritance judiciously.  187

Item 40: Use multiple inheritance judiciously.  192

Chapter 7: Templates and Generic Programming  199

Item 41: Understand implicit interfaces and compile-time polymorphism.  199

Item 42: Understand the two meanings of typename.  203

Item 43: Know how to access names in templatized base classes.  207

Item 44: Factor parameter-independent code out of templates.  212

Item 45: Use member function templates to accept “all compatible types.”  218

Item 46: Define non-member functions inside templates when type conversions are desired.  222

Item 47: Use traits classes for information about types.  226

Item 48: Be aware of template metaprogramming.  233

Chapter 8: Customizing new and delete  239

Item 49: Understand the behavior of the new-handler.  240

Item 50: Understand when it makes sense to replace new and delete.  247

Item 51: Adhere to convention when writing new and delete.  252

Item 52: Write placement delete if you write placement new.  256

Chapter 9: Miscellany  262

Item 53: Pay attention to compiler warnings.  262

Item 54: Familiarize yourself with the standard library, including TR1.  263

Item 55: Familiarize yourself with Boost.  269

Appendix A: Beyond Effective C++  273

Appendix B: Item Mappings Between Second and Third Editions  277

Index  280

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

原文地址:https://www.cnblogs.com/awesome-share/p/10046756.html

时间: 2024-11-05 20:43:46

C++学习书籍推荐《Effective C++ 第三版(英文)》下载的相关文章

C++学习书籍推荐《Effective C++ 第三版》下载

百度云及其他网盘下载地址:点我 编辑推荐 <Effective C++:改善程序与设计的55个具体做法(第3版)(中文版)(双色)>前两个版本抓住了全世界无数程序员的目光.原因十分明显:Scott Meyers极富实践意义的C++研讨方式,描述出专家用以产出干净.正确.高效代码的经验法则和行事法则--也就是他们几乎总是做或不做的某些事.<Effective C++:改善程序与设计的55个具体做法(第3版)(中文版)(双色)>一共组织55个准则,每一条准则描述一个编写出更好的C++的

c++学习书籍推荐《C++设计新思维》下载

百度云及其他网盘下载地址:点我 译序by 侯捷 i 译序by 於春景 iii 目录 v 序言by scott meyers xi 序言by john vlissides xv 前言 xvii 致谢 xxi 第一篇 技术(techniques) 1 第1章 基于policy的class设计(policy-based class design) 3 1.1 软件设计的多样性(multiplicity) 3 1.2 全功能型(do-it-all)接口的失败 4 1.3 多重继承(multiple in

大数据学习路线及各阶段学习书籍推荐

大数据学习路线及各阶段学习书籍推荐!废话不多说,直接切入主题,有需要的小伙伴可以参考学习! 阶段一.大数据基础--java语言基础方面 (1)Java语言基础 Java开发介绍.熟悉Eclipse开发工具.Java语言基础.Java流程控制.Java字符串.Java数组与类和对象.数字处理类与核心技术.I/O与反射.多线程.Swing程序与集合类 (2) HTML.CSS与JavaScript PC端网站布局.HTML5+CSS3基础.WebApp页面布局.原生JavaScript交互功能开发.

Java学习书籍推荐

一.Java学习书籍推荐 1. 核心基础知识 <图解HTTP> <大话数据结构> <数据结构与算法分析:C语言描述> <算法图解> <算法 第四版> 2.Java相关 <Effective java > <Head First Java.第二版> <JAVA网络编程 第4版> 3.JavaWeb相关 <深入分析Java Web技术内幕> <Spring实战(第4版)> <Redis

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

普拉塔 (Prata S.) (作者), 云巅工作室 (译者) <C Primer Plus(中文版)(第5版)>共17章,介绍了C语言的基础知识,包括数据类型.格式化输入输出.运算符.表达式.流程控制语句.函数.数组和指针.字符串操作.内存管理.位操作等,知识内容都针对C99标准:另外,<C Primer Plus(中文版)(第5版)>强化了对指针的讨论,并引入了动态内存分配的概念,也讨论了C预处理器和C库函数.高级数据表示(数据结构)方面的内容. 下载地址:点我 编辑推荐 作为

java虚拟机的学习书籍推荐

javaEE开发已然是一个老生常谈的话题了,但经典之所以会成为经典,就是因为有可重复琢磨之处,每一次的反复推敲都会有不一样的收获.如果你不满足于做一个只会写if…else…的Java程序员,而是希望更进一步,我随便举几个例子吧: 1.了解Java代码的底层运行机制 2.定位性能问题 3.对整个系统进行性能调优 4.解决各种奇奇怪怪的线上线下问题 5.更加高级别的,为自己的项目量身定做一款适合自己项目的虚拟机 今天小编在给大家传授java技术的之外,给大家介绍一本关于java虚拟机的书籍,仔细研读

《Effective Java 第三版》新条目介绍

前言 从去年的3月份起我就在开始读<Effective Java 第二版>,当然,我读的是中文版的:可能是我理解能力还不行,对于书中的内容总是感觉理解困难:就拿第一章的内容「创建和销毁对象」来说吧,这是我读的次数最多的一章,想必原因大家也是明白的,每次我读不下去的时候,我就从头开始读,所以,现在我对这本书的第一章是最为熟悉的了.后来,有一次我上网看到有网友说这本书确实和绝大部分的翻译书籍一样,对于有些原文中的内容翻译的不是很流畅,所以会导致阅读的人感觉难以理解:于是,我就斗胆下了本英文的原版来

数据结构:C++语言版 第三版 PDF下载

网盘下载地址:数据结构:C++语言版 第三版 PDF下载 – 易分享电子书PDF资源网 作者: 邓俊辉 出版社: 清华大学出版社 副标题: C++语言版 第三版 出版年: 2013-9 页数: 389 定价: 39.00元 装帧: 平装 丛书: 清华大学计算机系列教材 ISBN: 9787302330646 内容简介 · · · · · · <清华大学计算机系列教材:数据结构(C++语言版)(第3版)>按照面向对象程序设计的思想,根据作者多年的教学积累,系统地介绍各类数据结构的功能.表示和实现

C++学习书籍推荐

著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:史嘉炜链接:https://www.zhihu.com/question/20410487/answer/15055637来源:知乎 阶段 1<Essential C++> 下载地址:http://download.csdn.net/detail/jerryjbiao/4144693这是一本内容不多但很实用的C++入门书籍,强调快速上手与理解C++编程.本书主要围绕一系列逐渐复杂的程序问题,以及用以解决这些问题的语言特性

Linux运维人员成长之路学习书籍推荐

对于从事或者即将从事Linux运维的童鞋来说,学习书籍和视频课程两者缺一不可,当然最重要的是要付诸于实践.今天为大家推荐一些不错的书籍,希望对对大家有帮助. 入门书: <鸟哥的私房菜(基础篇)> <鸟哥的私房菜(服务篇)> <Linux命令行与Shell脚本编程大全(第2版)> <UNIX/Linux 系统管理技术手册> <UNIX编程艺术> 计算机及操作系统原理书: <深入理解计算机系统(原书第2版)> <现代操作系统 (原书