C++这门语言从诞生到今天,已经走过了将近30年的时间。 不可否认,它比其他语言更难学。 而它的学习难度主要来自于它的复杂性。
现在C++的使用比以前少了很多,java、C#、python等语言可以在很多方面替代C++。 但也有很多其他语言无法替代的地方,主要是需要更高效运行的行业; 例如游戏和高效的服务器。
现在学习java、C#等语言的人数远远高于C++,主要是因为C++的入门门槛太高了。
所以这里我们不讨论具体的技术细节学习游戏开发,只说在哪个阶段应该学什么。 有一个系统的计划。
1、语言基础
如果我们想成为一名程序员,我们会学到很多很复杂的东西,但是我们必须从语言开始学习。
学习语言的目的是打好基础,尤其是自学,一定要规划好自己的学习路线,循序渐进。 学习一门语言最重要的是多看书,但不能随便找一本C++的书就看。
适合学习C++的书籍推荐:《C++ primer plus》、《C++编程语言》、《Effective c++》等。
2.图形用户界面
C++中的GUI库有很多种,比如MFC、WTL、wxWidgets、QT等。
这些 GUI 库中的每一个都有自己的特点。 其实我们只需要先了解其中的一个学习游戏开发,只要深入了解一个GUI库就可以了。
其他的东西需要的时候再学就可以了,本质上都差不多,很快就可以上手。
MFC的设计虽然问题很多,但是作为入门还是不错的,而且学习资料也很多数据报告,解决问题也很容易。
3. 数据结构与算法
很多人忽略了数据结构和算法的知识,尤其是一些编程语言的库非常好; 几乎不需要自己去实现一些数据结构和算法,所以很多程序员并不重视甚至忽视这方面的知识。
然而,当我们想让我们的程序运行得更快,占用更少的内存时,这个知识就非常非常重要了。 很多程序员一开始并不关注这些东西,但是工作几年后,就来补充这方面的知识。
一开始可能不需要学得太深,但是一定要知道基本的数据结构和算法。 另外,如果你想成为一个优秀的、有能力的程序员,如果你想做软件开发,你应该学习C/C++,如果你想学习编程,有一个学习的氛围和一个交际圈子是很重要的! 这里我先推荐一款C语言C++通讯按钮裙,——7841;
4.数据库
学习数据库基础知识,掌握数据库使用方法。
推荐使用Oracle,最好不要使用一些封装好的接口。
相反,你应该直接使用Oracle提供的数据库API,你可能对数据库有更深的了解。
5.平行
CPU的主频已经不能再遵循摩尔定律了,目前CPU的发展趋势是多核。 不管是多线程还是多进程,都是为了更好的发挥CPU的性能,提供更好的用户体验。 这就要求如果我们要写出高效的应用程序,就必须涉及到并行计算。 把更多的精力花在并行计算上,就会有丰厚的回报。
6.网络编程
这里所说的网络编程指的是socket编程。
现在很多C++应用都在做服务器开发。 如何开发一个高并发、高吞吐量、高稳定性的服务器是我们要考虑的。
7. 设计模式
设计模式不是具体的技术游戏图片,更多的是关于如何让代码更易读、更好扩展、更易用。
8. 图书馆的使用
C++标准库只提供了一些非常基础的功能,所以我们经常会引入一些第三方库。 最著名的大概就是号称准标准库的boost库了,它提供了我们编程中用到的各种技术,文本处理、算法、网络、多线程、图像处理等等,几乎无所不包。
还有一些其他的库是专攻某一方面的,比如网络通信的ACE,解析xml的TinyXML,图形渲染的OGRE等。
9.操作系统知识
程序员需要了解的操作系统知识不同于普通用户。 高手需要深入了解操作系统的方方面面,而不是停留在使用层面。
至于该学哪些知识,Windows的去看《Windows核心编程》,Linux的去看《深入理解Linux内核》,应该就能知道该学什么了。
以上就是学习C++游戏开发的前期准备,也就是打好基础。 以上都是基本功,看似有点多,但磨刀不误樵夫。 这对你以后学习游戏开发会有很大的帮助。
总而言之,这条路还是很艰难的,加油吧,珍惜吧! ! ! 想提升C/C++编程能力的朋友可以关注作者哦!