如何去学C++

By | 2014/05/29

说到如何去学C++,如果是专从语言层面来讲,你所需要掌握的是
1.编译器
2.调试器
3.语法
4.C++对象模型
结合非语言层面上来讲:
5.结合虚函数,了解虚函数的实现,了解多态是怎么实现的
6.使用设计模式更好的理解C++
高级部分
7.内存管理

预处理,编译,链接期是很多其它语言所不屑讨论的,许多从其它语言转C++经常会问些很蠢的问题,比如经常会问些:为什么我们代码编译不过去!这在c++中是很基本的问题。c++编译器会把代码处理成一些符号,在链接期把它们组织到一块,生成应用程序。具体细节请大家好好查阅相关文档或是baidu google,还有很多编译参数希望大家也用心留意,参考资源:GCC 编译器文档。

调试器:调试器这个也希望大家有心的话下载一个GDB的文档,看看调试器能做什么,你用过多少?

语法:C++的语法毫无疑问是所有语言中最复杂的,在我看来最需要留意的是理解虚表虚函数,理解C++的多态,结合设计模式好好思考。C++这门语言是非常科学的,尽管很多人骂C++,其实大部人是害怕C++复杂的语法,难以掌握。

对象模型:C++仍然是基于c的,或者说它的本质就是c!这个需要大家好好理解,建议去看《C++对象模型》一书。

为什么要结合设计模式,给你一个新的框架,有些人会花得时间长,有些人花得时间短,重点在于这些人对设计模式,框架的理解程度不一样,如果让一个写Java的去学Cocos2d-x可能会容易一些,因为它本身有内存池,如果换其它C++ GUI框架估计只有哭的份,很多游戏框架包括Cocoa框架会大量使用设计模式,如果你懂设计模式可能更快速的切入框架学习之中,这是毋庸置疑的!你懂的越全面,切入其它框架的时间越短。

内存管理 :这是个高级主题,你要懂c/c++的堆栈模型,不需要你去懂汇编。你可以不去写内存池,但一定要理解这个内存池是大体怎么实现的(能做到这一步可以去游戏公司面试了)。

其它:c/c++标准库是必须要掌握的东西。boost库你可以不去学,因为游戏公司一般不会用这东西。c/c++的知识点非常琐碎,所以最佳的学习方式就是关注一些大牛的博客,加一些c++群,看他们讨论,或者讲你的观点也可,错误没关系,理解到自己哪错了最好!

设计模式建议大家看书,找王老师,让他推荐,框架的话建议Cocoa框架帮助理解(虽然它是OC写的)。方向的话建议iOS,C++游戏,这是学C++的同学最适合做的工作,当然其它语言还是很好的比如Python,Java看自己兴趣,以及钻研能力。

最后再提一下,我写的有很多地方没涉及到,比如模板,宏,算法,数据结构这些东西,平时积累一下,不是大问题。

2 thoughts on “如何去学C++

  1. Jerry

    写的挺好, C++的学习曲线陡峭而漫长,很多细节需要掌握的很清楚才可以,但学好后很多知识可以受用终生,再学习其他语言会相当轻松。

    Reply

发表评论

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