[C++系列] 1. C++初识

现由于个人学习情况和进度开始对C++进行系统学习,将会在本博客中持续维护[C++系列],其中包含C++中大大小小的知识点,主要为了记录自己学习途中的知识学习进度情况,也希望能够与大家互相交流,共同学习,共同进步!


1. 什么是C++

       C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要高度的抽象和建模时,C语言则不合适。为了解决软件危机, 20世纪80年代, 计算机界提出了OOP(objectoriented programming:面向对象)思想,支持面向对象的程序设计语言应运而生。

2. C++ 的重要性

       目前开发语言排行榜中,以Java、C、C++三门主流语言在应用普及度上面遥遥领先,其中个人对Java不太了解,C语言主要在对嵌入式开发上独占鳌头,而C++在处理大型项目时却又是别领风骚!C++在工作领域上主要有以下9大涉及方向:
1. 操作系统以及大型系统软件开发
2. 服务器端开发
3. 人工智能
4. 网络工具
5. 游戏开发
6. 嵌入式领域
7. 数字图像处理
8. 分布式应用
9. 移动设备

3. 如何学习C++

       以下引用自2010年8月号《程序员》刊登的拙文《C++强大背后》最后一段:C++缺点之一,是相对许多语言复杂,而且难学难精。许多人说学习C语言只需一本K&R《C程序设计语言》即可,但C++书籍却是多不胜数。我是从C进入C++,皆是靠阅读自学。在此分享一点学习心得。个人认为,
学习C++可分为4个层次:
           第一个层次,C++基础 (平平常常)挑选一本入门书籍,如《C++ Primer》、《C++大学教程》或Stroustrup撰写的经典《C++程序设计语言》或他一年半前的新作《C++程序设计原理与实践》,而一般C++课程也止于此,另外《C++ 标准程序库》及《The C++ Standard Library Extensions》可供参考;
           第二个层次,正确高效的使用C++ (驾轻就熟)此层次开始必须自修,阅读过《(More)Effective C++》《(More)Exceptional C++》、 《EffectiveSTL》及《C++编程规范》等,才适宜踏入专业C++开发之路;
           第三个层次,深入解读C++ (出神入化)关于全局问题可读《深入探索C++对象模型》、《Imperfect C++》、《C++沉思录》、《STL源码剖析》,要挑战智商,可看关于模版及模版元编程的书籍如《C++ Templates》、《C++设计新思维》、《C++模版元编程》;
          第四个层次,研究C++ (返璞归真) 阅读《C++语言的设计和演化》、《编程的本质》(含STL设计背后的数学根基)、C++标准文件《ISO/IEC 14882:2003》、C++标准委员会的提案书和报告书、关于C++的学术文献。由于我主要是应用C++,大约只停留于第二、三个层次。然而,C++只是软件开发的一环而已,单凭语言并不能应付业务和工程上的问题。建议读者不要强求几年内“彻底学会C++的知识”,到达第二层左右便从工作实战中汲取经验,有兴趣才慢慢继续学习更高层次的知识。虽然学习C++有难度,但也是相当有趣且有满足感的。
      如果题主认为的「精通」是指上述所指的第二层次,那么我估计一年全职时间也未足够「精通」。首先,阅读这些书籍本身也需要不少时间,而且对于一般人来说(指除了一些学习记忆能力超强的人),很可能需要阅读几遍才能记住一些细节。另外,阅读后必须要练习。除了入门的习题外,还需要做一些工程向的项目,才能了解各种语法、编程范式的使用方法及时机,理想地建议参与一些开源项目。然而,学习是需要不断思考并把结果沉淀,方法包括与朋友讨论、写博客、写知乎答案等,这些都需要时间。如引文末段所指出,我建议不要把「精通C++」作为一个一年目标,应该要把学习语言作为一个持续的过程,同时要把语言运用在具体的应用场合中。http://www.zhihu.com/question/23933514

       在此,我认为:首先在,语言学习上面一定要多多总结,能够将各个语法知识点先学会,再将各个知识点连成片。其中各个知识点可以采用常更新博客进行记录学习,也方便我们及时复习。在等车、无聊发呆、陪女友购物的空隙都可以拿来刷一刷!其次,当学到一定程度的时候可以将这些零碎的知识点构建出一篇思维导图进行整理,方便思维的层层递进深入理解。学习还是要多多动脑子的啊!最后,也可以通过日常的学习在牛客网上或者Leetcode(领扣)上刷刷题,切忌纸上谈兵!

4. 关于C++课程的思考

       学习是一个层层递进深入的过程,C++不能仅仅只学习它的语法定义,我们的目标是能够高效的工作,因此在此课程中也涉及到了STL库、高阶的数据结构,C++不仅仅是一门语言,更是一种生活哲学,需要我们长久的保持学习的韧劲和热情,fighting!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ypuyu

如果帮助到你,可以请作者喝水~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值