各位程序员,欢迎进入C++世界!
这是一种令人兴奋的语言,它在C语言的基础上添加了对面向对象编程和泛型编程的支持,在20世纪90年代便是最重要的编程语言之一,并在21世纪仍保持强劲势头。
这一点可以从TIOBE编程语言排行榜中看出,C++在2021年1月到9月期间一直都保持着第4名的势头,霸占编程语言元老宝座。
与C语言一样,C++也是在贝尔实验室诞生的,Bjarne Stroustrup于1979年在这里开发出了这种语言。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++学习路线能够帮助你轻松地往前走~