探索C++学习的最佳路径

发表时间: 2021-09-24 07:42

各位程序员,欢迎进入C++世界!

这是一种令人兴奋的语言,它在C语言的基础上添加了对面向对象编程和泛型编程的支持,在20世纪90年代便是最重要的编程语言之一,并在21世纪仍保持强劲势头。

这一点可以从TIOBE编程语言排行榜中看出,C++在2021年1月到9月期间一直都保持着第4名的势头,霸占编程语言元老宝座。


与C语言一样,C++也是在贝尔实验室诞生的,Bjarne Stroustrup1979年在这里开发出了这种语言。Bjarne Stroustrup开发的动机也很纯粹,正如他曾经说的那样:

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

事实上,C++成功地达到了Bjarne Stroustrup的设计初心。在今年3月,腾讯正式对外发布的2020年度《腾讯研发大数据报告》中显示,在编程语言方面,C++蝉联腾讯最受欢迎的编程语言


而程序员们纷纷选择C++的原因不外乎:

✔ C++是世界上最流行的编程语言之一,广泛应用于软件开发、搜索引擎、操作系统、嵌入式系统、视频游戏等。

✔ C++是一种面向对象的编程语言(简称OOP),它为程序提供了清晰的结构,并允许重复使用代码,从而降低了开发成本,被广泛视为最出色的大规模应用构建语言。

✔ C++可实现跨越所有设备移植,如安卓、苹果、windows、黑莓等移动平台。

✔ C++是一项重要的技能,掌握了它能够帮助大家在众多开发人才当中脱颖而出。由于C++接近 C#和 Java,Java等程序员很容易切换到C++。反之亦然,比如,如果你掌提了C++就能够深入了解Java或Python等编程语言中的内存管理机制,并了解如何回避各类常见的馅阱与难题。

✔ C++拥有灵活的调整空间,允许大家对自己的应用进行灵活调整井充分发挥计算机的全部性能。

......

优势众多的C++无疑是程序员的宠儿~

1

学习C++的建议

学习C++是一次探索之旅,因为这种语言容纳了好几种编程范式,其中包括面向对象编程、泛型编程和传统的过程化编程。

当然,我们都知道,C++有三个特别突出的优点。

一是C++继承了C语言高效、简洁、快速和可移植性的传统;

二是C++面向对象的特性带来了全新的编程方法,这种方法是为应付复杂程度不断提高的现代编程任务而设计的;

三是C+ +的模板特性提供了另一种全新的编程方法——泛型编程。

这三件法宝既是福也是祸,一方面让C++语言功能强大, 另一方面则意味着有更多的东西需要学习。

(图源:网络)


▌基本的建议

对于C++的学习,异步君的建议主要是多看和勤练。

(1)确定好要学习C++,便朝着自己预期的目标,坚持学习下去。千万不要东学一点,西学一点,导致自己沦为”什么都懂一点,但又不能真正解决问题的杂家“。

(2)注重基础知识的学习。要建造简单的房屋,首先要打地基、搭框架。如果一开始没有牢固的结构,后面就很难建造窗子、门框、圆屋顶和镶木地板的舞厅等。

同样,学习计算机语言时,应从程序的基本结构开始学起。只有这样,才能一步一步了解其具体细节,如循环和对象等,并且,先学习了一些基本概念后,便可以激发自己接下去学习的兴趣。

(3)边学边练,避免眼高手低。不论是在学习基本知识的时候,还是学习实例的时候,都一定要多敲敲代码,巩固记忆。

对于一些很好的代码,不仅要做到领略其思想,成功复刻代码,最好还要能学会灵活改编此代码。通过模仿别人写的代码,汲取其中精华,一步一步形成自己的东西。

▌特别的建议

事实上,除了基本的建议外,还有一点也特别重要。那就是了解C++的新特性。

C++在发展的过程中,在 2011 年、2014 年和 2017 年,分别有三次重大更新:C++11、C++14 和 C++17。其中C++11是C++98以来最重要的一次变化,而其后的C++14、C++17是在该基础上的完善和补充。

为什么要建议你了解C++的新特性呢?

这个答案很简单,虽然不学习新特性也能像以前一样编程,但是在效率上,你是被学习新特性的人远远甩到身后的。这就像别人已经开上了小轿车,而你还在努力蹬自行车一样悲伤。四个轮子和两个轮子能比吗?

(图源:网络)

2

轻松又高效的C++学习路线

虽然大家都说C++好,但其实,对于C++的吐槽也不少,主要都是因为C++让人觉得很难学!

C++虽然在掌握之后能让大家直接登上程序员金字塔的塔尖,但它的学习曲线比较艰难,难倒了很多英雄好汉,让很多程序员深陷其中但又不舍得抽身离去。真让人痛并快乐着!

但事实上,通过选择一条轻松又高效的学习路线,这种痛苦完全是可以避免的。为此,异步君特地整理了一条C++的学习路线,希望能对你有帮助!

首先是C++的基本语言学习,而基本知识还要数大师讲解的才算是精妙!

所以,异步君推荐大家从《C++ Primer Plus 第6版 中文版》入门C++,这本书可是畅销了近30年的C++编程入门教程,业内大咖与海量读者交口称赞的案头工具书!

当然,都说了基础阶段阶段更要勤加练习,所以,你还可以配合使用这本书的习题解答《C++ Primer Plus 第6版 中文版习题解答》,让自己对基础知识有更加全面且深刻的认知。

基础为王,只要你打好了基础,其他都好办了!

接下来,你就可以通过《C++沉思录》《C++ Templates中文版》《C++编程规范 101条规则 准则与最佳实践》等进阶图书学习C++的更深层次内容,越来越靠近C++大师。


▌C++入门

《C++ Primer Plus 第6版 中文版》

毫不夸张地说,如果你是零基础学C++?

买它,那就选对了!

这本数百万程序员的C++编程启蒙图书专门为零基础读者撰写,无论你之前是什么学历,什么专业,什么背景。这本书的使命就是让不懂编程,甚至不懂计算机的人,成功入门C++编程!

《C++ Primer Plus 第6版 中文版》历经20余年,6 次改版,以求完全匹配C++标准的变化发展情况,并最终成为C++语言学习的理想图书。

截至当前,中文版累计销量已经突破了50万册,众多新手通过自学,已经成长为各大技术公司的中坚力量。

可以说,这本书无论是技术深度还是技术广度,以及讲解方式,都是针对自学用户设计的,都在数个版本中得到了良好的验证。

所以敬请放心大胆地通过这本C++图书自学成才吧~

《C++ Primer Plus(第6版)中文版习题解答》

“学习靠积累,记忆靠理解,经验靠反思,熟练靠练习。”

对于C++的学习也是一样。我们可以通过习题来巩固知识,而这本《C++ Primer Plus(第6版)中文版习题解答》正是畅销入门书《C++ Primer Plus 第6版 中文版》的学习伴侣,由北京师范大学名师详细剖析所有题目,针对书中的复习题和编程练习,给出了解题思路和答案,是提升C++编程能力的优选编程练习册!

《C++ Primer Plus(第6版)中文版习题解答》共分为18章,每一章的主题与《C++ Primer Plus(第6版)中文版》完全一致。

每章开篇采用思维导图的方式列出本章的知识点,然后对每章的重点内容进行了梳理总结,最后则对每章中的复习题和编程练习进行了分析并给出了解答思路,确保读者在彻底夯实理论知识的同时,进一步提升实际编程能力。

作为《C++ Primer Plus(第6版)中文版》的配套参考书,《C++ Primer Plus(第6版)中文版习题解答》特别适合需要系统学习C++语言的初学者阅读,也适合打算巩固C++语言知识或者希望进一步提高编程技术的程序员阅读。

《C++ Primer Plus官方视频解读》

好的老师能让我们的学习效果翻倍,因此,在看书时别忘了也看看配套视频。

《C++ Primer Plus官方视频解读(27小时学72个核心知识点)》由上海交大&北师大两位重量级讲师亲授,让你熟练掌握 C++ 语法结构及主要模块,夯实C++学习基础。

通过视频,你可以将自己的思路与老师的思路进行对比,找到自己的不足,为后期进阶打下坚实的基础!


▌C++进阶

《C++沉思录》

我们都知道,C++有自己的一套思想体系,它虽然有庞大的体系、繁多的特性、无穷无尽的技术组合能力,但是其核心理念也是很朴实、很简单的。

掌握了C++的核心理念,在实践中就会有“主心骨”,有自己的技术判断力。

但是在很多C++图书甚至某些经典名著中,C++的核心理念被纷繁的技术细节所遮掩,变得模糊不清,读者很容易偏重于技术细节,最后深陷其中,不能自拔。为此,异步君特别推荐大家这本关注如何运用C++的书籍!

《C++沉思录》基于作者在知名技术杂志发表的技术文章、世界各地发表的演讲以及斯坦福大学的课程讲义整理、写作而成,融聚了作者10多年C++程序生涯的真知灼见。

这本书通过精心挑选的实例,向读者传达先进的程序设计方法和理念。它适合有一定经验的C++程序员阅读学习,可以帮助他们提升技术能力,成为C++程序设计的高手!

《C++ Templates中文版》

在C++中,模板(Template)这个概念已经存在十几年了,它可以作为一个工具,用来开发更加干净、更具效率、更加智能的软件。

其实,模板早已经成为许多新的C++程序设计范例(paradigm)的基石。

对于模板这一吸引人的、复杂的、强有力的C++特性,想要进阶的我们更加需要学习它的基础概念和高级技术。因此,异步君特别推荐这本C++模板编程的完全指南《C++ Templates中文版》供你学习。

这本书不仅能给那些刚刚开始使用模板的程序员提供必要的信息,让他们可以从使用模板中受益;还能为那些经验丰富的程序员介绍一些深入的知识,使他们可以走在模板应用的前列。

希望你能通过书中关于基本概念、常用技巧和应用实例三方面的有用资料,掌握C++模板知识,通关C++模板编程!


《C++编程规范 101条规则、准则与最佳实践》

当你使用C++进行编程时,可能会因为没有遵守编程规范,导致写出的代码很糟糕,而这也是你和C++大牛的区别之一

如果你想避免这种问题,那么,异步君推荐你一定要看《C++编程规范 101条规则 准则与最佳实践》,学习优良的编程规范。

因为,好的编程规范是能够带来许多相互关联的优点的。比如:改善代码质量、提高开发速度、增进团队精神、提升团队效率、简化维护工作等。

在本书中,两位全世界受尊敬的C++专家将全球C++社区的集体智慧和经验凝结成一整套编程规范。这些规范可以作为每一个开发团队制定实际开发规范的基础,更是每一位C++程序员应该遵循的行事准则。

这本书涵盖了C++程序设计的每一个方面,包括设计和编码风格、函数、操作符、类的设计、继承、构造与析构、赋值、名字空间、模块、模板、泛型、异常、STL容器和算法等。

书中对每一条规范都给出了言简意赅的概述,并辅以实例说明;另外还给出了从类型定义到错误处理等方面的大量C++实践,包括许多总结和标准化的技术。

总的来说,即使使用C++多年的程序员也会从这本书中受益匪浅,这是一本C++进阶学习不可错过的好书!


“正确的道路是这样:吸取你的前辈所做的一切,然后再往前走。”

——列夫·托尔斯泰

C++为程序员提供了丰富多彩的内容,希望这条C++学习路线能够帮助你轻松地往前走~