c++程序员需要学以下9点主要知识:
1.语言基础
我们要成为一个程序员,学的东西会很多很杂,但是最开始一定要从语言开始学习。
学习语言的目的就是打好基础,特别是自学的,一定规划好自己的学习路线,一步一个脚印学习下去。学习语言最关键的莫过于多读书,但不能随便找一本C++书籍就去读了。
2.GUI
C++方面的GUI库有很多种,比如MFC、WTL、wxWidgets、QT。
这些GUI库都各有自己的特点,其实我们只要先了解一种就可以了,只要深入了解了一种GUI库。
需要的时候再学习其他的就够了,本质上都差不多,很快就可以上手了。
MFC虽然设计上有很多问题,但是作为入门还是不错的,而且学习资料很多,碰到问题也好解决。
3.数据结构和算法
很多人都忽视了数据结构和算法方面的知识,尤其是一些编程语言的库做得非常好;几乎不需要自己去实现一些数据结构和算法,导致现在很多程序员不重视甚至忽略这方面的知识。
但是,当我们想让我们的程序跑得更快、内存占用更少的时候,这些知识就非常非常重要了。很多程序员都是刚开始的时候不重视这些,但是工作几年后又来补习这些知识。
最开始可能不需要学习的太深入,但是基本的数据结构和算法一定要知道。
4.数据库
学习数据库的基础知识,并且掌握一种数据库使用。
推荐使用Oracle,而且最好不要用一些封装好的接口。
而应该直接用Oracle提供的数据库API,可能对数据库了解的会更深入。
5.并行
CPU主频已经不能遵循摩尔定律了,现在CPU发展的趋势是多核心。无论是多线程,还是多进程,都是为了更好地利用CPU的性能,提供更好的用户体验。这就要求我们如果要写出高效的应用程序,必然要涉及到并行计算。多花些精力在并行计算上吧,一定会有丰富的回报。
6.网络编程
这里所指的网络编程是指socket编程。
现在C++的应用很多都是在做服务器开发,如何开发一个高并发、大吞吐量、高稳定性的服务器就是我们要考虑的了。
7.设计模式
设计模式不是具体的技术,更多的是如何让代码更容易阅读、更好扩展、更容易使用。
8.库的使用
C++标准库仅仅提供了一些很基本的功能,所以我们经常会引入一些第三方库。最著名的恐怕就是被称为准标准库的boost库,它提供了我们编程中用到的各方面的技术,文本处理、算法、网络、多线程、图像处理等等,几乎无所不包。
其它也有一些专注于某一方面的库,比如ACE是网络通信方面的,TinyXML是解析xml的,OGRE是图形渲染方面的。
9.操作系统的知识
程序员需要了解的操作系统知识和普通用户是不一样的一个高手是需要深入了解操作系统的方方面面,而不是停留在使用层面。
至于应该了解哪些知识,Windows上的去看《Windows核心编程》,Linux的去看《深入理解Linux内核》,应该可以知道自己应该学什么了。
以上都是学习C++游戏开发的前期准备,也就是打好基础。上面都是基本功,看起来有点多,但是磨刀不误砍柴工。这对于你后面学习游戏开发有非常大的帮助。总而言之,道路还是很艰辛的,且行且珍惜!!!
本文仅代表作者观点,版权归属原创作者,如需转载请在文中标注来源及作则名字。
免责声明:本文系转载编辑文章,仅做分享只用,如有疑问请联系邮箱:110@zbj.com
哪个电脑浏览器最适合程序员?
APP开发公司主要是给客户提供技术开发服务,技术开发服务提供的主体主要是专业人员,我们从一个APP开发的全过程去探讨一下专业APP开发公司需要拥有哪些职能的团队。
程序员的日常
程序员这种拥有高技术的人,除了正常上班拿薪水外,业余利用自己的技能,可以轻松赚取外快,甚至抵得上工资哦。你还在经常加班熬夜么?太out了!
架构师的工作和程序员的工作有何不同?
程序员写的代码是不是越少越好,为什么?
前端程序员和后端有什么不同?
程序员每天写日志,主要是写什么?
程序员学算法到底有什么用?
c++程序员需要具备的知识?
怎样看待有些程序员在网上一些平台出售代码?
做一个PHP程序员都需要学什么?
会计和电脑程序员哪个职业更有潜力?
做一个PHP程序员都需要学什么?
php程序员一般在哪里可以看到新技术?
程序员一般用什么配置的电脑好?
大数据和人工智能程序员选择哪个方向比较好?
程序员是一群,智商极高,人品善良,收入挺高,交友不多,生活圈子比较小而且单纯,都是一批可爱的人,但是他们不善言谈,不善交际。到了一定的年龄和级别后,都很难突破自己的瓶颈。那么优秀程序员是如何突破自己的瓶颈的呢?
作为程序员的你,常用的软件有哪些?
程序员最喜欢用什么浏览器?