成长 进步 分享

Great works are performed not by strength, but by perseverance

如何学习C++

在进入正题之前,先说一点题外话。首先,C++这门编程语言对我而言有一种特殊的意义,毕竟它是我学习的第一门编程语言。记得大一刚开始学的时候,老师讲的内容我听得一头雾水,这都是些什么鬼,他到底有什么用。这种状态一直持续了一个学期,一直到大一下学期C++实习的时候才对这门语言有了一定的了解。

近年来,一些新兴的编程语言也快速崛起,逐渐为人们所使用。像人工智能领域所用的Python,网页设计所使用的PHP、ASP.NET,以及Java、JavaScript、C#等等。这些语言也在冲击C++的地位,但是如果你以后要从事硬件方面的工作,比如写一些驱动的话,C++还是必须要掌握的。

推荐的书籍

学习编程语言一本好的入门书籍是非常重要的,下面是我推荐的两本入门书籍。

  • 《C++ Primer》。如果你从未接触过C语言,我猜有80%的C++程序员会向你推荐这本书,这本书可以说是C++语言的一本百科全书,讲述了C++语言“是什么”,里面“有什么”,适合初学者使用。
  • 《C++ Primer Plus》。最适合初学者的书,它比《C++ Primer》更加通俗易懂,别看仅仅就多了一个Plus,这就让这两本书有了比较大的区别。《C++ Primer Plus》就是这门语言的一本通识课本,它实实在在的交给程序员如何理解和使用这种内容丰富、威力强大的语言。本书最大的特点就是务实,通过类比、距离举例和多维度的方式,为程序员打下坚实的、使用C++进行日常工作的基础。

如果您已经掌握了C++的基本语法和句式了,那么就可以去阅读我接下来推荐的这几本书了。

  1. 《Effective C++》。这本书列举了使用C++经常出现的问题及解决这些问题的技巧,该书中提到的问题也是一些面试官很喜欢问的问题,所以这本书也很适合在面试之前突击的看一下。
  2. 《More Effective C++》。本书继承了《Effective C++》的传统,对语言中的一些较模糊的问题进行了解释,介绍了实现各种目标的方法,如设计智能指针,并反映了C++程序员在过去几年中获得的其他一些经验。
  3. 《The C++ Programming Language》。这本书的作者正是C++的发明者Stroustrup·Bjarne,因此是一部权威作品。如果对C++有一定的了解,将可以轻易掌握它。它不仅介绍了语言,而且提供了多个如何使用该语言的示例。随着语言的发展,这本书已经有多个版本,如果想全面深入掌握C++,那么没有哪本书比这本书更适合了。
  4. 《写给大家看得C++书》。是我偶然间在一个师兄的桌子上看见的,于是也去图书馆借了一本来看看,感觉写的也很好,在这里也把他推荐给大家吧。这本书的原著也是外国人,我看的是译本。这本书应该算是C++的入门书籍,它与大多数C++程序设计语言的教科书一样,本书的结构优势也会有点奇怪。因为C++的全部目的是为了让软件开发工作变得更容易,所以一些看起来非常复杂的记号其实并不难懂。因此会在前面的章节里遇到一些还没有详细介绍的概念,但这并不影响阅读,因为过一段时间这些问题都会迎刃而解。而且这本书没有像其他一些编程教科书一样,在每一章的末尾为读者准备一些思考题或练习题。但里面会有关于如何改进或应用有关技巧的建议。

多动手,不要害怕出错

我想对于初学者来说,最不愿意看到的就是好不容易写完了几十行代码,然后一编译发现有若干个错误,然后就在那儿改错,改出来还好,改不出来的话,就感觉这几十分钟的工作都白费了,要是每次写的代码编译都是对的该多好。一开始我也有这样的想法,尤其是当年考试的时候,就希望自己写的代码都是对的,这样就不用慢慢调试了,多省事。

但是后来我慢慢发现,编译出错其实是一件好事。为什么这么说呢,因为每次编译出错后你肯定就要寻求解决方法,长此以往下去你就可以积累越来越多的错误解决方法,你的经验就会越来越丰富。这样就算以后你碰到没有见过的问题,你也可以从以前遇见过的问题里寻找灵感从而获取问题的解决办法。

扩展

这一部分我给大家简单的介绍一下Visual C++(VC++),VC++是由于.NET技术的发展,为适应图形用户界面应用程序而出现的一种语言,它可以理解为用C++语言对图形用户界面应用程序进行设计的一种语言,本质上还是C++,这里的Visual就有视觉的意思,这样就不难理解了。比C++多了很多控件,这个可以理解成是前台,然后需要用C++语言去 “控制”这些控件,让它们完成程序员的相关要求。

举个例子,比如你需要利用一个“button”控件去完成 “确定”这样一个操作,那么你就可以先把这个控件利用鼠标拖到界面上,然后再双击这个控件进入后台去编写相关的代码,这样就可以实现这个控件的功能了。

结语

C++自被发明以来,因其高性能、易移植以及同时支持过程式、面向对象和泛型编程的特性,成为最为广泛的程序设计语言之一,很自然成为许多人学习编程的首选。当然,很可能也会有不少人告诉你,C++非常复杂,出了名的难学,只有高手才能掌握,还是知难而退把。

但其实不是这样的,只要有正确的学习方法,C++并不比其他语言难。不可否认,在学习过程中肯定会遇到一些容易让人失误的陷阱,但是如果不经历这些又怎么去成长呢?学习C++不需要你有多聪明的头脑,但一定要有一颗持之以恒的心,要相信自己只要坚持下去,总有一天你会学好C++。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注