C++ primer 5th 读完的一点心得体会

作为一个通信的研究生,其实我对自己所从事的方向还是有很多迷茫的。本科的时候参加过很多比赛,搞过单片机、ARM嵌入式,做过信号处理,学过matlab,学过C、C++,但是始终觉得自己浮于表面,并没有一种深入的感觉。好比我做了一个四旋翼飞行器,我知道它的控制原理,我花足够多的时间也能看明白它里面的每一个函数,我也可以对这个开源的飞控做适当的修改,但是也就仅此而已了,如果让我自己从无到有的搭建这样一个庞大的项目,我的语言基础、理论基础,不能支撑我做到这样的程度。

在网上看了很多资料,再加上一位学姐的指点,我觉得,也许应该让自己沉淀一些东西下来,看看书充充电,是最好的选择,以弥补自己基础上的缺陷。所以,我也想奉劝各位本科的同学,经常参加竞赛或者比赛是有好处的,但是,千万不能忽视语言的学习,做过再多项目,如果没有基础理论支撑,是很浮于表面的。我必须承认,后面第四部分我看的有点草率,因为很明显的感觉后面的实用性不如前面三部分高,后面二刷三刷的时候再继续精读。

好了,谈谈我读完一遍的感想。

  1. C++在我的理解范围内几乎是全能的语言,它是C语言的补充,保留了C很多面向过程的特点,但是它也让C语言的缺点暴露无疑。相比C++,C编程的可重复利用性不高,尤其缺乏模板和重载,显然不够灵活。但是C的效率很高,如果使用

  2. C++面向模板编程,这是我最深的感受之一,越看到后面越发有这个感觉,这个设计思想几乎贯穿C++的每一个语言特性,函数重载、模板函数、模板类、重载运算符,让我感觉一切皆可是模板、一切皆可重载,将你编写的代码的效率最大化。

  3. 面向对象编程,类的继承、封装以及多态,但是和面向模板有一些联系,基类似乎某种意义上也是派生类的模板,或者是实例化的类的通用模板,通过这样的思维方式,把生活中面对的具体的问题,抽象成可以利用特定数据结构来表示的抽象数据,给我启发很大,以前本科时,学习C++的时候,也有过了解,但是,一来,没有深入接触到运算符重载以及类的拷贝控制等部分,浅尝辄止,二来,没有进行大量训练;所以这次看完书,感觉收获很大,接触到了实实在在的可以指导自己的写代码的法则与事例。

  4. 面向stl编程,standard template library即标准模板库,包含容器、算法等模块,是学习C++的重点,不过个人觉得,学习掌握的难度并不大,但是要了解其实现过程,阅读其源代码应该是之后的学习方向。C语言3个库,其余十几个为C++独有的模板库,是C++的重要组成部分。

  • 总结:C++是一个很强大的工具,直面物理内存,又不失高级语言的设计思想,但是通读下来,C++的学习难度也不容小觑。未来,我打算进一步学习数据结构与算法C++描述,进一步深入了解,真正吃透C++的应用。

已发布

分类

来自