百万C++程序员的启蒙书,畅销20余年,这部经典终于出配套习题解答了!

在编程的世界里,很多语言来了又走,而C++却屹立了30年,并在21世纪仍保持强劲势头。

去年,C++之父Bjarne Stroustrup公布了C++20添加的新特性,让众多程序员炸了锅。其中一个新特性——模块(Modules),至少让代码编译速度提升5倍以上。

Bjarne Stroustrup的理念是,一种语言不应该只能实现设计者想得到的功能,它必须有能力做得更好。这种追求“更好”的理念,也让C++在30年里经久不衰。

伴随C++长盛不衰的,还有一本畅销了20余年、引领百万程序员进入C++世界的经典图书——《C++ Primer Plus》。这本书出版至今已更新六代,是很多技术大牛案头常备的工具书。

现在,这本被C++程序员奉为圣经的《C++ Primer Plus 》终于出配套习题解答了。

image

image

1

充满生机的C++

目前,全球有约450万名左右的C++程序员,同时C++社区以每年10万到15万新增开发者的速度增长。

与C语言一样,C++也是在贝尔实验室诞生的。Bjarne Stroustrup刚开始并没有打算开发某种编程语言,而是想构建一套分布式系统。

C++主要是为了我的朋友和我不必再使用汇编语言、C语言或其他现代高级语言来编程而设计的。它的主要功能是可以更方便地编写出好程序,让每个程序员更加快乐。

——Bjarne Stroustrup

它的前身C语言,属于过程式的并且基于函数,虽然包含能够封装数据的记录类型(struct),但是它不包含类似对象的行为来表现被封装的状态。显然,用户迫切希望有一种语言既拥有C语言的强大功能,又拥有面向对象的类的灵活性和可扩展性,于是C++应运而生。

对于C++,Stroustrup比较关心的是让它更有用,而不是实施特定的编程原理或风格。在确定C++语言特性方面,真正的编程需要比纯粹的原理更重要。之所以在C的基础上创建C++ ,是因为C语言简洁、适合系统编程、使用广泛且与UNIX操作系统联系紧密。

基于C语言高效、简洁、快速和可移植性的传统,C++有三宝:

  1. C语言代表的过程性语言

  2. C++在C语言基础上添加的类代表的面向对象语言

  3. C++模板支持的泛型编程

对于学习C++的人来说,这是福也是祸。是福,在于如果你掌握了C++,其他的语言真的是小case,一天翻完基础语法,三天上手,三个月精通一门新语言基本毫无问题;是祸,在于C++对编程知识的涵盖面太广了,学习难度巨大。

要知道,C++发展的脚步从未停下,如今大量用于各种计算平台的C++实现得以面世;而IS0C++标准( C++11 和C++20)为确保众多实现的相互兼容提供了基础。这些标准规定了语言必须具备的特性、语言呈现出的行为、标准库函数、类和模板,让C++在不同计算平台和实现之间的可移植性。

也许你选择C++的原因是必须为一个C++项目提供技术支持,或者只是打算使用C++编写新的代码,不论理由是什么,这个决定都是非常明智的。未来,C++在底层开发的优势将会越来越不可或缺。

2

历时20年,再版6次,入门C++首选

作者Stephen毕业于加州理工学院,在美国加州大学伯克利分校获得博士学位。他单独或与他人合作编写的编程图书有十多本,其中《New C Primer Plus》获得了计算机出版联合会1990年度最佳“How-to”计算机图书奖,《C++ Primer Plus》获得了计算机出版联合会1991年度最佳“How-to”计算机图书奖提名。

早年间,Stephen写过另一本霸榜C语言入门类畅销书,这本书开创了优良的初级教程传统,比如:

  • 初级教程应当是友好的、便于使用的指南。

  • 初级教程不要求您已经熟悉相关的编程概念。

  • 初级教程强调的是动手学习,通过简短、容易输入的示例阐述一两个概念。

  • 初级教程用示意图来解释概念。

  • 初级教程提供问题和练习来检验您对知识的理解,从而适于自学或课堂教学。

《C++ Primer Plus》建立在这样的基础之上,吸收了其中很多成功的理念,帮助您理解这种用途广泛的语言,并学习如何使用它:

  • 对何时使用某些特性,例如何时使用公共继承来建立is-a关系,提供了概念方面的指导。

  • 阐释了常用的C++编程理念和技术。

  • 提供了大量的附注,如提示、警告、注意等

image

《C++ Primer Plus》的前4版在美国的总销售量超过了10万册。

2005年,人邮出版了《C++ Primer Plus》的第 5 版,不过那时是基于 ISO C++标准编写的,该标准的官方名称为 C++99 和 C++03(C++99/C++03),其中2003标准主要是对1999标准的技术修正,并没有添加任何新功能。

C++在不断发展,编写第六版时,新标准获得了C++国际标准委员会的批准。在制定期间,该标准名为C++0x,但现已改名为C++11。

在IT技术圈有句俗话,“追新不追旧”。历经20余年,6次改版,中文版累计销售突破30万册,并首次支持C++11新标准。这本《C++ Primer Plus(第6版)中文版》绝对可以成为你入门C++的首选。

事实上,这本书也经受住了时间的考验,并和读者一起成长,自然也得到了读者的认可。

对于系统编程语言来说,除了C++ ,我们没有太多其他的选择。D语言曾经有挑战C+ +的机会,但机会似乎已经消失,我预期未来G0语言也会挑战C++ ,但不管怎样,目前C++依然是王者。这本《C++ Primer Plus》是C+ +图书中内容丰富者。C++是一门很容易误用的语言,学习C+ +需要巨细靡遗。我选择用这本书复习并更新我的C+ +知识。

——创新工场首席架构师 蔡学铺

3

双剑合璧——习题解答面世

作为《C++ Primer Plus(第6版)中文版》官方配套习题解答《C++ Primer Plus(第6版)》在之前版本的基础之上进行了全新升级,涵盖了C++语言的新进展以及C++11标准的详细内容。与之前的版本一样,其目标依然是为读者提供一本入门型、条理清晰、见解深刻的C++语言教程。

为了锻炼并提升读者的动手编程能力,《C++ Primer Plus(第6版)》除了在每章正文中包含了大量短小精悍的实例之外,还在每章末尾提供了颇有深度的综合性的复习题和编程练习题。本书编者对这些复习题和编程练习给出了自己的理解和解答。

image

来看看本书都有哪些亮点:

亮点一:思维导图式解读C++各章知识点

在每章开篇,会有一个思维导图,帮助读者直观理解本章内容;然后是一段简练的文字,用来梳理每章涉及的理论内容。

这种方式更妙之处在于可以帮助读者构建知识体系,所学的各种知识都可以在这种结构清晰的思维导图中展现。

image

亮点二:对复习题和编程练习进行了详细的剖析

每个程序员都经历过从学理论到实际敲代码的无助,明明感觉自己都吃透了,可为什么脱离了参考书,自己就只会写个#include ?

其实,理论跟实践之间,隔着一个重要的因素——知其然更要知其所以然。

本书对《C++ Primer Plus(第6版)》中给出的练习进行了庖丁解牛式的分析,确保读者理解练习的目的以及代码为什么这样写,在这个过程中产生自己的思考,在彻底夯实理论知识的同时,进一步提升实际编程能力。

亮点三:海量实战案例

既然是习题解答,那这本书就测重实战操作,通过海量的练习进而把知识点融会贯通。全书共18章节,每章除了有重点理论概念汇总,每章最后的习题都有详细的编码和解析。

举个例子,C++程序可使用哪3种C风格字符串?

C++程序中使用的C风格字符串主要有3种形式,其中最常用的是字符数组的形式,其次是以双引号标识的字符串常量形式,最后也可以使用指向字符串首字符的指针的形式来表示。

其中使用字符数组形式表示和使用指针形式表示的字符串在程序中类似,使用双引号表示的是常量形式的字符串,程序中不能修改字符串的数据。

作为《C++ Primer Plus (第6版)中文版》理想的学习伴侣,《C++ Primer Plus(第6版)中文版习题解答》可以切实提升C++语言初学人员的编程技能,掌握C++语言编程的精髓,为后期的程序开发之路打下坚实基础。

两本书“双剑合璧”,特别适合需要系统学习C++语言的初学者阅读,也适合打算巩固C++语言知识或者希望进一步提高编程技术的程序员阅读。

其实做为一个学习者,有一个学习的氛围跟一个交流圈子特别重要这里我推荐一个C/C++基础交流583650410,不管你是小白还是转行人士欢迎入驻,大家一起交流成长。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章