C++学习笔记0:前言

作者: 云中布衣   分类:  学习笔记    热度: (263℃)   时间: 2017-6-17 21:01   标签: #始于C++而不止于C++    

基础是治学之本,通过暑期实习生面试发现自己的语言基础还不是很扎实,希望能够通过梳理C++基础以及一些高级主题来巩固自己的语言基础。主要参考资料是《C++ Primer》第四版,而接下来的一段时间,我会通过博文的形式来梳理这本书的知识点,梳理主要分成两个部分。

第一部分:C++语言基础(变量、基本类型、数组、指针、表达式、语句、函数、IO、基本类、模板与泛型编程)

第二部分:C++高级主题(异常处理、命名空间、多重继承与虚继承、虚表、C++内存分配、运行时类型识别(RTTI)、类成员的指针、嵌套类、联合(Union)、局部类、固有的不可移植的特征)

由于前面的C++基础,已经有相对比较扎实的基础,在梳理的过程中点到为止,但是后面的C++高级主题需要深入的学习和分析,除了参考书中知识点,还需要Google几篇好的博文来学习理解,并梳理成对应知识点的学习笔记。

选区_096.png

刚刚看了百度BFE运维团队技术负责人章淼老师的一套课程--《The Art of Coding》,里面有提到怎样成为一个优秀的软件工程师?很有感触!

  • 1.学习——>思考——>实践
  • 2.知识——>方法——>精神
  • 3.基础乃治学之本

回顾这几年的求学生涯,从本科一路走来,有很多地方其实我做的并不是很好。真正接触计算机编程应该是大一上学期上的VB程序设计那门课,当时的我真的是被程序的神奇深深的吸引住了,感慨程序的神奇的同时也在不断地学习新的计算机知识,于是自学了C语言、PHP语言、HTML/CSS,而那时的我还是物理学专业的一名大一学生,计算机编程只是作为我的一个兴趣爱好,一切都那么的美好。出于兴趣在物理学专业成绩还不错的我,后来转专业到了计算机专业并于本科毕业之后进入了中科院读研,读的还是计算机。期间学习了C++、Java、Python、Ruby,做过网站,写过安卓APP,玩过单片机,参加过ACM,跑过机器学习模型,甚至还做过全息菜单(当然啦是伪全息,利用光线的折射原理,以后有机会介绍下)但是回头却发现,其实自己都是在按照别人的思路去学习去做一件事情,很少有自己的思考在里面,这是很不好的。子曾经曰过:学而不思则罔,思而不学则殆。如果只知道一味的去学习,而不知道思考,其实时间久了就什么也没有留下。有时候多问几个为什么?遇到问题第一时间不应该是去谷歌或者百度,而应该静下来好好的思考,看看自己能不能解决。学习的时候试着从多个角度考虑问题,多去思考,多想一些为什么?

这是一个信息爆炸时代,尤其是计算机行业,技术可以说是日新月异,各种编程语言Go、Scala、Ada、Ruby、Python、R……让人眼花缭乱,软件开发领域各种新的框架,机器学习领域各种新的模型。

点击查看原图

到底该学哪个?人的精力总是有限的,不可能面面俱到,章淼老师的第2,3点给了我很好的启发,知识是无穷无尽的,但不能死学知识,要得法,要善于总结方法,最后上升到一种精神层面的上的东西,可以把它理解到一种感觉,就如同做试卷时候的题感、英语学习时候的语感。就拿编程语言来说吧,那么多编程语言,这个学一点,那个学一点有啥用呢,学了Ruby,学Python然后呢,学进去了吗?同质化太严重了,而且人的精力也耗费不过来。曾经以为掰着手指数着自己会的编程语言很自豪,现在觉得那时候的自己就是个傻孩子,废了那么大劲儿,学了那么多语言其实都是表面的皮毛,真正的精髓的东西是需要深入思考才能得到的,是需要长期的钻研实践才能掌握的,而不是照着书中的示例代码,敲几行,跑一跑就算是掌握了的。比较明智的选择是才语言中挑几门比较有代表性的编程语言,深入的学习和研究,例如过程语言学C,面向对象学C++,脚本语言学Python。把精力都集中在这几门编程语言上,努力的把它学精了,等你有一天突然明白了当初语言设计者为什么设计的时候,你就真的是学到精髓了。当然啦,编程很多东西是脱离编程语言之外的,我们称之为专业基础,如数据结构,计算机网络,操作系统,数据库等等,这些都是作为一个优秀软件工程师的内功,最为关键的是,这些基础知识,是不太容易随着时间的推移而过时的,学的多好都不为过!

简而言之:多学习,学习前人经典的书;多思考,遇到问题要有自己的想法;多实践,持续的参与到实际开发当中;别再做当初那个傻孩子了!

(完)

56.8K

发表评论:

© 云中布衣 2015 | Driven by EMLOG  | SiteMap | RunTime: 9.53ms&RSS  |   | 回到顶部

文章数量【230】 评论数量【156】 稳定运行【1031天】

Visitor IP Address【54.80.82.9】