C++必知必会(英文影印版)
基本信息
编辑推荐
贝尔实验室第一批C++程序员之一,有二十多年使用C++的经验
通俗易懂,不涉及繁琐的技术细节
内容丰富,涵盖了了C++的关键知识,详细讲解了C++编程和设计中必须掌握但却不易掌握的主题
短小精悍,把相关的知识进行了精心挑选和浓缩
63条C++开发关键知识,凝聚20多年编程经验,资深C++专家Stephen C.Dewhurst引导读者领悟C++的真正本质。...
内容简介回到顶部↑
本书描述了c++编程和设计中必须掌握但却不易掌握的主题,这些主题涉及的范围较广,包括指针操作模板、泛型编程、异常处理、内存分配、设计模式等。作者根据本人以及其他有经验的管理人员和培训老师的经验总结,对与这些主题相关的知识进行了精心挑选,最终浓缩成63条。每一条款所包含的内容均为进行产品级c++编程所需的关键知识。作者称这些知识为c++程序员必备的“常识”,其实非意味着简单或平庸,而是“必不可少”。
本书适合于中、高级c++程序员,也适合c或java程序员转向c++程序设计时参考。
本书适合于中、高级c++程序员,也适合c或java程序员转向c++程序设计时参考。
作译者回到顶部↑
本书提供作译者介绍
Stephen C.Dewhurst是贝尔实验室第一批C++程序员之一,拥有20多年C++项目经验,涉及的领域包括编译器设计、证券交易、电子商务和嵌入式通信技术等。他曾独自或与人合作撰写多种C++书籍,是TheC++Sou rce的顾问团成员,C/C++Use rs Jou rnal的资深编辑,也是C++Report的专栏作家。他还是两种C++编译器的作者,并发表了大量关于编译器设计和C++编程技术的文章。
.. << 查看详细
.. << 查看详细
目录回到顶部↑
item 1 data abstraction
item 2 polymorphism
item 3 design patterns
item 4 the standard template library
item 5 references are aliases, not pointers
item 6 array formal arguments
item 7 const pointers and pointers to const
item 8 pointers to pointers
item 9 new cast operators
item 10 meaning of a const member function
item 11 the compiler puts stuff in classes
item 12 assignment and initialization are different
item 13 copy operations
item 14 function pointers
item 15 pointers to class members are not pointers
item 16 pointers to member functions are not pointers
item 17 dealing with function and array declarators
item 18 function objects
item 19 commands and hollywood
item 20 stl function objects
item 2 polymorphism
item 3 design patterns
item 4 the standard template library
item 5 references are aliases, not pointers
item 6 array formal arguments
item 7 const pointers and pointers to const
item 8 pointers to pointers
item 9 new cast operators
item 10 meaning of a const member function
item 11 the compiler puts stuff in classes
item 12 assignment and initialization are different
item 13 copy operations
item 14 function pointers
item 15 pointers to class members are not pointers
item 16 pointers to member functions are not pointers
item 17 dealing with function and array declarators
item 18 function objects
item 19 commands and hollywood
item 20 stl function objects
前言回到顶部↑
“一本成功的书不是由书的内容构成的,而是由该书省略的内容所构成的。”.
——马克·吐温
……尽可能简单,但不过分简单。
——阿尔伯特·爱因斯坦
……一个怀疑读者能力的作家根本不能称其为作家,只不过是个阴谋家而已。
——E.B.怀特
Herb SuRer接手C++ Report的编辑工作后很快就邀我为之写一个专栏,主题由我来定。我将该专栏命名为“Common Knowledge(常识)”。用Herb的话来说,该专栏预期为“对每一位职业C++程序员应该知道但未必总是知道的基础知识之定期概述”。然而,在以那样的风格写了一些专栏文章后,我对模板元编程(template metapro gramming)技术的兴趣日渐浓厚,故而此后“Common Knowledge”中讨论的一些主题距离“Common”越来越远。
然而,在C++程序设计界,当初促使我选定这个专栏的问题仍然存在。在我的培训和咨询工作中,常常会遇到下面几类人员:
·领域专家,他们是专家级的C程序员,但对C++只有一些基本的认知(并可能对C++怀有敌意):
.直接从大学雇来的新手,他们有才干,但对C++语言只有理论上的认识,缺乏C++产品开发经验;
·专家级的Java程序员,他们仅有少量的C++经验,并有以Java编程的方式来从事C++编程的倾向;
·C++程序员,他们具有若干年维护现有C++应用程序的经验,但从未经受过学习超出维护所需基础范围的任何知识的挑战。
我希望能立刻进行建设性的工作,但许多我共事过或培训过的人在有能力承担业务之前,都需要接受各种各样的关于C++语言特性、模式以及编程技术的预备教育。更糟的是,我怀疑大多数C++代码都至少忽略了其中一些基本要素,因而不具备大多数C++专家所认可的产品级质量。
这本书致力于解决这个具有普遍性的问题,它提供了每一位职业C++程序员需要知道的常识,并将这些常识精简至本质以便读者高效而精确地吸收。其中有不少信息可以从其他途径获得,而有些知识则是所有专家级C++程序员都知道的未成文信息的完整摘要。本书的优势在于将这些材料集中于一处,并依据我多年的培训和咨询经验进行了遴选。经验表明,这些语言特性、概念和技术都是最常被误解同时也是最有用的。
也许构成本书的63个简短条款最重要的地方在于它们省略掉的东西,而不是它们所包含的东西。许多主题都可以进行更复杂的讨论。作者如果忽略这些复杂性而只作一般性的描述可能会误导读者,但对一个主题的全部复杂性进行专家级的讨论又可能会使读者无所适从。本书采取的方式是在讨论每一个主题时过滤掉那些“不必要”的复杂性。我希望留下的是产品级C++编程所必需的知识的纯粹、完整的精华。较真儿的C++语言专家会意识到我省略了对一些有趣甚至重要的问题(从理论的角度来说)的讨论,但我省略的那些东西通常并不会影响阅读和编写产品级C++代码的能力。
写作这本书的另一个动机来自于我在一次会议上同一群知名C++专家的谈话。这些专家对于一件事情颇感沮丧,那就是他们认为现代C++是如此复杂,以至于“普通”程序员已经不能理解它了(比如,在模板和名字空间上下文中的名字绑定问题。是的,解决这样的问题确实需要普通C++程序员下更多的功夫)。在我看来,应该说其实我们的态度有些过于自负了,我们的沮丧也是不合情理的。我们这些“专家”们自己就不存在这样的问题,实际上,使用C++编程就像说一门(远比C++复杂的)自然语言那样容易,尽管我们不能完全分析我们所说的每一句话的语法结构。本书不断出现的一个主题是,虽然对特定语言特性细节的完整描述可能让人望而生畏,但日常使用的语言特性都是直观而自然的。
不妨考虑一下函数重载。有关它的完整描述占据了很大一块标准文档,并占据了许多C科教程的一整章(甚至多章)。然而,当我们面对如下代码时:
void f(int);
void f(const char* );
//…
——马克·吐温
……尽可能简单,但不过分简单。
——阿尔伯特·爱因斯坦
……一个怀疑读者能力的作家根本不能称其为作家,只不过是个阴谋家而已。
——E.B.怀特
Herb SuRer接手C++ Report的编辑工作后很快就邀我为之写一个专栏,主题由我来定。我将该专栏命名为“Common Knowledge(常识)”。用Herb的话来说,该专栏预期为“对每一位职业C++程序员应该知道但未必总是知道的基础知识之定期概述”。然而,在以那样的风格写了一些专栏文章后,我对模板元编程(template metapro gramming)技术的兴趣日渐浓厚,故而此后“Common Knowledge”中讨论的一些主题距离“Common”越来越远。
然而,在C++程序设计界,当初促使我选定这个专栏的问题仍然存在。在我的培训和咨询工作中,常常会遇到下面几类人员:
·领域专家,他们是专家级的C程序员,但对C++只有一些基本的认知(并可能对C++怀有敌意):
.直接从大学雇来的新手,他们有才干,但对C++语言只有理论上的认识,缺乏C++产品开发经验;
·专家级的Java程序员,他们仅有少量的C++经验,并有以Java编程的方式来从事C++编程的倾向;
·C++程序员,他们具有若干年维护现有C++应用程序的经验,但从未经受过学习超出维护所需基础范围的任何知识的挑战。
我希望能立刻进行建设性的工作,但许多我共事过或培训过的人在有能力承担业务之前,都需要接受各种各样的关于C++语言特性、模式以及编程技术的预备教育。更糟的是,我怀疑大多数C++代码都至少忽略了其中一些基本要素,因而不具备大多数C++专家所认可的产品级质量。
这本书致力于解决这个具有普遍性的问题,它提供了每一位职业C++程序员需要知道的常识,并将这些常识精简至本质以便读者高效而精确地吸收。其中有不少信息可以从其他途径获得,而有些知识则是所有专家级C++程序员都知道的未成文信息的完整摘要。本书的优势在于将这些材料集中于一处,并依据我多年的培训和咨询经验进行了遴选。经验表明,这些语言特性、概念和技术都是最常被误解同时也是最有用的。
也许构成本书的63个简短条款最重要的地方在于它们省略掉的东西,而不是它们所包含的东西。许多主题都可以进行更复杂的讨论。作者如果忽略这些复杂性而只作一般性的描述可能会误导读者,但对一个主题的全部复杂性进行专家级的讨论又可能会使读者无所适从。本书采取的方式是在讨论每一个主题时过滤掉那些“不必要”的复杂性。我希望留下的是产品级C++编程所必需的知识的纯粹、完整的精华。较真儿的C++语言专家会意识到我省略了对一些有趣甚至重要的问题(从理论的角度来说)的讨论,但我省略的那些东西通常并不会影响阅读和编写产品级C++代码的能力。
写作这本书的另一个动机来自于我在一次会议上同一群知名C++专家的谈话。这些专家对于一件事情颇感沮丧,那就是他们认为现代C++是如此复杂,以至于“普通”程序员已经不能理解它了(比如,在模板和名字空间上下文中的名字绑定问题。是的,解决这样的问题确实需要普通C++程序员下更多的功夫)。在我看来,应该说其实我们的态度有些过于自负了,我们的沮丧也是不合情理的。我们这些“专家”们自己就不存在这样的问题,实际上,使用C++编程就像说一门(远比C++复杂的)自然语言那样容易,尽管我们不能完全分析我们所说的每一句话的语法结构。本书不断出现的一个主题是,虽然对特定语言特性细节的完整描述可能让人望而生畏,但日常使用的语言特性都是直观而自然的。
不妨考虑一下函数重载。有关它的完整描述占据了很大一块标准文档,并占据了许多C科教程的一整章(甚至多章)。然而,当我们面对如下代码时:
void f(int);
void f(const char* );
//…
相关资源回到顶部↑
· 【推荐】众多高校学子口口相传,他们共同的选择--华清远见嵌入式学院(嵌入式Linux就业课程、3G手机开发就业课程,通过入学测试即签100%就业协议,4个月集中实训,世界500强企业成功就业保障!!!)· 【亚嵌教育 嵌入式培训专家】(嵌入式培训,嵌入式Linux培训,ARM培训,Linux培训,3G培训,Android培训,WINCE培训,DSP培训,FPGA培训,嵌入式就业培训)
· 程序员的7种武器(正则表达式、编程语言、数据库、算法、软件调试、开发环境)
· C/C++ 经典著作(《C专家编程》《C++ Templates中文版》《C和指针 》《C陷阱与缺陷》《C++沉思录》)








点击看大图





加载中...

