[翻译] Effective C++, 3rd Edition, Preface(前言)

《Effective C++简体版》:C++编程入门与实践 本文还有配套的精品资源,点击获取 简介:这本专为C++初学者设计的入门电子书籍,旨在深入浅出地教授关键概念和技术。涵盖了如何有效使用C++的对象和类、智能指针、模板、异常处理和C++标准库等主题。书中不仅提供了实用编程技巧,还帮助读者理解C++语言本质,避免常见错误,培养良好编程习惯。 1. C++编程关键概念介绍 在开始深入探讨C++编程的各个高级特性之前... 阅读详情

Preface(前言)

作者:Scott Meyers

译者:fatalerror99 (iTePub's Nirvana)

发布:http://blog.youkuaiyun.com/fatalerror99/

我在 1991 年写出了 Effective C++ 的最早版本,1997 年出了第二版,我更新了一些重要的方面的素材,但是,因为我不想使熟悉本书第一版的读者感到困惑,我尽最大可能保持了原有的结构。最早的 50 个 Item 标题中的 48 个原则上保持不变。如果把书看作一栋房子,第二版就相当于通过更换地毯、涂料和灯光设备等使其焕然一新。

对于第三版,我打散了原有的秩序。(很多次我希望我能做得更彻底。)1991 年以来,C++ 世界经历了巨大的改变,而将近 15 年以前我制定的那些 Item 也不再契合本书的目标——将最重要的 C++ 编程准则融入小而易读的建议中。1991 年,假设 C++ 程序员具有 C 语言背景是有一定道理的。现在,转到 C++ 的程序员很可能来自 Java 或 C#。1991 年,inheritance(继承)和 object-oriented programming(面向对象编程)对于大多数程序员来说都是新鲜的。现在,这些已经是非常普遍的概念,而 exceptions(异常),templates(模板),以及 generic programming(泛型编程)成为新的需要更多指导的领域。1991 年,没有人听说过 design patterns(设计模式)。现在,讨论软件系统时很难不涉及它们。1991 年,C++ 正式标准化的工作刚刚开始。现在,标准化已经八年了,而下一个版本的工作也已经开始。

为应对这些变化,我尽己所能将写字板擦得一干二净,并不断地追问自己:“在 2005 年,对于目前的 C++ 程序员,什么才是最重要的建议?”结果就是这个新版本中的一组 Item。本书包括了关于 resource management(资源管理)和 programming with templates(使用模板编程)的新的章节。实际上,templates(模板)的考虑贯穿全书,因为它几乎影响了 C++ 的每个方面。本书也包括关于在 exceptions(异常)存在的场合下编程,在应用 design patterns(设计模式),以及在使用新的 TR1 库程序(TR1 在 Item 54 中介绍)等方面的新的素材。本书还承认在 single-threaded systems(单线程系统)中能很好地工作的技术和方法可能不适用于 multithreaded systems(多线程系统)。噢,本书超过一半的素材都是新的。然而,第二版中基本原理方面的资料中的大部分依然是重要的,所以我将它们以这样或那样的形式保留下来。(你能在 Appendix B(附录 B)找到第二版和第三版 Item 的对照表。)

我尽我所能使本书趋于最好,但我并不幻想完美。如果你觉得本书中的一些 Item 作为常规的建议不太合适;或者有更好的方法实现本书中需要完成的任务;或者有一个或更多技术上的讨论不明确,不完全,或容易令人误解,请告诉我。如果你发现任何错误——技术上的,文法上的,印刷上的,无论哪种——也请告诉我。如果你是第一个让我注意到某个问题的人,我很高兴将你的名字加入到以后再次印刷的致谢中。

即使 Item 的数量增加到 55,本书中的这一组准则离完满无遗还差得很远。但是成为好的规则——在几乎所有的应用程序几乎所有的时间中得到应用——比它看上去更加困难。如果你有增加准则的建议,我很高兴能听到它。

我维护本书从第一次印刷起的变化列表,包括错误修正,进一步解释,和技术更新。这个列表可以从 Effective C++ Errata 网页得到,http://aristeia.com/BookErrata/ec++3e-errata.html。如果你希望当我更新列表时,你能得到通报,我建议你参加我的 mailing list(邮件列表)。我用它作为通告,发给那些对跟踪我的职业工作感兴趣的人们。关于细节问题,请参考 http://aristeia.com/MailingList/。

SCOTT DOUGLAS MEYERS                       STAFFORD, OREGON
http://aristeia.com/                             APRIL 2005

Effective C++.epub Effective C++,3rd Edition,英文版 立即下载

相关推荐

英文原版Effective C++

英文版,Effective C++,经典的C++语言解说,解压即可,不要错过~~~

《Effective C++》让自己习惯C++

构造函数声明为explicit更好, 禁止编译器执行非预期的类型转换,但仍然可以强制转换。 class widget; widget a = b; //调用copy构造函数 widget c; c = b; // 调用copy赋值运算符 bool text(widget a); text(c) //调用copy构造函数,其实使用常量引用是更加推荐的做法 条款01:视C++为一个语言...

zhougb3的博客 266

Effective C++中文版EPUB电子书

好不容易找到到的电子书,可以在手机和Apple设备上看的电子书,质量比txt好,看起来比pdf方便

[翻译] Effective C++, 3rd Edition, Introduction(导言)

Introduction(导言)作者:Scott Meyers译者:fatalerror99 (iTePubs Nirvana)发布:http://blog.youkuaiyun.com/fatalerror99/学习一种编程语言的基础是一回事;学习如何用那种语言设计和实现高效率的程序完全是另外一回事。对于 C++ ——一种以拥有非同寻常的能力范围和表现力而自豪的语言——更是尤其如此。如果能

艺术编程 4143

Effective+C+++3rd+chm+中文版(代码加亮)

作者:Scott Meyers 译者:fatalerror99 (iTePub's Nirvana) 发布:http://blog.youkuaiyun.com/fatalerror99/ 学习一种编程语言的基础是一回事;学习如何用那种语言设计和实现高效率的程序完全是另外一回事。对于 C++ ——一种以拥有非同寻常的能力范围和表现力而自豪的语言——更是尤其如此。如果能正确使用,与 C++ 共事是一件令人快乐的事情。极多样的设计样式被直接表达并有效实现。对于 classes(类),functions(函数),以及 templates(模板)的明智选择和小心精巧的安排能使应用程序的编程更加简单,直观,高效,并基本无错。如果你知道如何去做,写出高效的 C++ 程序并不特别难。然而,如果不经训练就贸然使用,C++ 也会导致不可理解的,难以维护的,无法扩展的,低效率的,错误百出的代码。 本书的目的在于引导你如何高效使用 C++。我假设你已经熟悉了作为语言的 C++ 并有使用它的一些经验。我在此提供的是使用这种语言的指南,以使你的程序易于理解,可维护,易移植,可扩展,效率高,而且行为符合你的预期。 我提供的建议落在两个主要的范围中:普通的设计策略,以及特殊语言特性的具体细节。设计的讨论集中于如何在 C++ 做某件事情的多种不同方法之间进行选择。如何在 inheritance(继承)和 templates(模板)之间选择?如何在 public(公有)和 private inheritance(私有继承)之间选择?如何在 private inheritance(私有继承)和 composition(复合)之间选择?如何在 member(成员)和 non-member functions(非成员函数)之间选择?如何在 pass-by-value(传值)和 pass-by-reference(传引用)之间选择?在一开始就做出正确的决定是很重要的,因为一个不好的选择可能会直到开发过程很晚的阶段才显现出来,在这时候再调整它常常是困难重重,极为耗时而且代价不菲的。 即使在你正确地知道你要做什么的时候,仅仅把事情做对也是需要技巧的。assignment operators(赋值运算符)的合适的返回类型是什么?destructor(析构函数)什么时候应该是 virtual(虚拟)的?当 operator new(运算符 new)找不到足够的内存时它应该怎么办?类似这些的令人费神的细节是至关重要的,因为错误的做法几乎总是导致无法预料的,很可能令人迷惑的程序行为。这本书正是来帮助你避免这些问题的。 这不是一本全面的 C++ 手册。它收集了 55 个详细的提议(我将它们称为 Items)告诉你怎样才能改善你的程序和设计。每一个 Item 都能 stands more or less on its own(独立成章),但大部分也包含对其它 Items 的参考。因而,读这本书的一个方法就是从你感兴趣的一个 Item 开始,然后顺着它的参考条目继续看下去。 这本书也不是一本 C++ 入门书。例如,在 Chapter 2(第二章),我希望能告诉你关于 constructors(构造函数),destructors(析构函数),以及 assignment operators(赋值运算符)正确实现的全部内容,但是我假设你已经知道或者能在别处找到这些函数做些什么以及它们该怎样声明的资料。大量 C++ 书籍包含类似这样的信息。 这本书的目的是为了突出 C++ 编程中那些常常被忽略的方面。其它书描 ............

Effective C++ 中文版第三版 azw3版本 kindle版本

Effective C++ 中文版第三版 azw3版本 kindle版本 超好用,放在kindle里直接看,放在kindle pc阅读器里,电脑直接看

Effective C++ (二)

 条款29: 避免返回内部数据的句柄尽量不要返回类成员变量的地址或引用等句柄,以防止被外部轻易的改变。而且很容易出问题。如返回了一个类内部成员变量指针指向某个缓冲区,在外部调用delete等操作这个缓冲区,势必造成类内部成员变量不能再有效的使用了。也不要返回了一个局部对象,局部对象出了作用域之后就被销毁。 条款30: 避免这样的成员函数:其返回值是指向成员的非const指针

ciahi的专栏 1480

Effective C++ 中文,mobi格式

《Effective C++:改善程序与设计的55个具体做法》(中文版)(第3版)一共组织55个准则,每一条准则描述一个编写出更好的C++的方式。每一个条款的背后都有具体范例支撑。

[翻译] Effective C++, 3rd Edition, Chapter 1. 习惯于 C++

Chapter 1. 习惯于 C++作者:Scott Meyers译者:fatalerror99 (iTePubs Nirvana)发布:http://blog.youkuaiyun.com/fatalerror99/无论你的编程背景如何,对于 C++ 可能多少有些不习惯。这是一个有着极其丰富特性的威力强大的语言。但是在你能发挥它的威力并有效地使用这些特性之前,你必须使自己习惯于以

艺术编程 4302

Effective_STL_50条有效使用STL的经验 epub

侯捷大师翻译,中文版Effective_STL_50条有效使用STL的经验_技术经典著作大系

Effective_C++_3rd_Edition.pdf 英文原版

Effective_C++_3rd_Edition 很棒的C++进阶书 如果能够全部都懂看完 肯定会在语言学习的基础上得到很大的提升

EFFECTIVE C++ (万字详解)(一)

前言: effective C++ 是一本经典之作,其翻译较为贴合原著,但读起来未免有些僵硬而让人摸不着头脑,所以,我会以更为贴近中国人的理解,对此书进行一些阐释。 条款01:把 C++ 看成一个语言联邦 C++由几个重要的次语言构成 C语言:区块,语句,预处理器,数组,指针等等。 类:class,封装,继承,多态......(动态绑定等等) 模板:涉及泛型编程,内置数种可供套用的函数或者类。 STL:STL是个模板库,主要涉及容器,算法和迭代器 在不同情况下使用适合的部分,可以使 C++

qq_62674741的博客 1万+

Effective C++ 中英文,mobi格式,适合kindle paperwhite

Effective C++ 中英文,mobi格式,适合kindle paperwhite阅读

[原创]强烈推荐,正在翻译的《Effective C++,3rd Edition》

我加入公司以来,经了一个月的培训期,真是受益良多。一来重新温故而知新,踏踏实实搞了一下C/C++,技术上精进不少。二来重新洗脑,抛去了原来在学校以及实习公司养成的编写代码的恶习,开始注重代码质量。很多人拿程序员和民工比,号称软件民工。其实不然。程序员的工作要复杂很多,困难很多。一个优秀的程序员不仅仅要掌握一门以上的语言工具,更要对所用的类库,工具,业务了如指掌,做到运用自如的程度。但是仅仅这些还不

心如止水--coofucoo的专栏 3051

VMware桥接模式实战:用手机热点给Linux虚拟机共享网络(附WiFi适配技巧)

本文详细介绍了在移动办公场景下,如何为VMware中的Linux虚拟机配置桥接模式,以通过手机热点共享网络。文章深入解析了桥接模式在无线环境下的工作原理,提供了从主机端准备、VMware设置到Linux虚拟机内部配置的完整实战步骤,并针对手机热点的特殊性,分享了MTU优化、DNS配置及常见网络问题的诊断与解决方案,帮助用户实现稳定高效的移动虚拟化办公。

2y3u4i5o6p的博客 1197

手把手教你用6轴IMU跑通LIO-SAM:参数配置与代码修改保姆级教程

本文提供了一套完整的6轴IMU适配LIO-SAM的解决方案,包括参数配置与代码修改的详细步骤。从理解6轴与9轴IMU的关键差异入手,逐步指导如何调整核心配置文件params.yaml、重构utility.h关键函数、优化mapOptimization.cpp的位姿融合逻辑,并给出编译验证与性能调优建议,帮助开发者快速实现6轴IMU在LIO-SAM中的稳定运行。

weixin_28717807的博客 357

电子书籍下載點 E-Book

电子书籍下載點 E-Book C/C++类=======Effective_c++2e(简体中文)(http://www.gamehigh.net/pub/ebook/effect_cxx_cn.zip)EffectiveC++ & MoreEffectiveC++ (英文版)http://www.gamehigh.net/pub/ebook/e...fectivec_xx.zip  Th

SilverLong专栏 3945

AD9361 官方例程

文章目录一、官方资料1.1 介绍1.2 下载 和 使用1.3 相关资料二、步骤2.1 在Vivado中构建HDL2.2 在SDK中构建No- OS总结 一、官方资料 1.1 介绍 HDL参考设计介绍:AD9361 HDL Reference Designs 无操作系统介绍:AD9361 No-OS Software 1.2 下载 和 使用 HDL下载:Download HDL 在Vivado中构建HDL:Building HDL No-OS下载:Download No-OS 1.3 相关资料 AD

weixin_44630490的博客 3万+
上一篇: [翻译] Effective C++, 3rd Edition, Item 24: 当希望将 type conversions(类型转换)应用于所有 parameters(参数)时,请声明为 non-member functions(非成员函数)
下一篇: [翻译] Effective C++, 3rd Edition, Item 25: 考虑支持一个 non-throwing swap(不抛异常的 swap)(上)
fatalerror99
博客等级 码龄24年 166粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值