美文网首页
如何成为一个很牛的C++程序员?

如何成为一个很牛的C++程序员?

作者: 武汉市尚上游 | 来源:发表于2019-04-19 16:11 被阅读0次

每一个学技术的人,进入职场干个三五年就能成为大牛、跳槽去大厂、薪水翻番。或者在一个小公司里带个小团队、在30岁左右成为项目经理、晋升管理层、买房买车、实现人生理想。

然而技术之路漫漫,想要成为牛×的程序员,还有很长的路要走。那么,成为一个很牛的C++程序员,需要修炼哪些技能呢?

 1.C/C++语言

如果你的基础很差,建议不要一开始就学C++语言。从C开始学起,对程序有个初步的认识,循序渐进。关于C语言的书,建议先买一本300页左右的,把书中的每一个例子都通过键盘敲打进去到Visualstudio里面去,然后单步执行,逐行调试去看各个变量的值。或者自行添加一些printf语句去输出变量的值。这样当你看完一本书后,你就能找到编写小程序的感觉了。

记住,千万不要偷懒,不敲代码,自以为聪明,光看就能看懂。偷懒的代价是会花费更多的时间学习,可能最后还学不会。

看完一本C语言的书后,你就可以买一本C++的书看了。C++的书也是一样,必须300页以内的那种,不要一来就想学《C++Primer中文版》这样的好书,因为太厚了,看完需要花费的时间极多,不值得。并且这种经典的好书,适合作为资料查阅,不适合挨个细节都看。

再提醒一遍,一定要把书中的例子挨个敲打到电脑里面,单步执行。一定不要从光盘复制,一定要单步执行。

经过两本书的磨练,估计你对C/C++肯定有比较深入的了解了,下来应该可以进入实战了。

 2.带界面的应用程序

学会了C/C++语言本身,可能还没有什么成就感,毕竟都是控制台的程序,老是输出一串字符串,整天面对各黑框框,成就感估计不是那么爽。要是能搞个带UI界面的程序就爽了。

接下来就看个人的志向了,如果走微软路线,那你可以选择学MFC;如果要走开源路线,那开源跨平台的界面库多得是。

通用且简单的就是wxWidget了,官方网站为www.wxwidgets.org。你下载后看具体的例子,把里面的例子程序敲到你的Visualstudio里面,去调试,看运行的结果,你也可以试着去修改例子,添加按钮,响应按钮事件等。

走到这一步,恭喜你,可以照葫芦画瓢的搞个小应用程序了,还带UI界面。

3.网络应用程序

语言搞懂了,UI程序也会了,下来该学网络了。

现在哪个程序不需要联网啊,懂网络对你理解很多程序非常有帮助。

从《UNIX网络编程》这本书开始学起,这本书可以教会你网络套接字的底层原理,把上面的例子好好学习,自己动手写一个回应服务器,写一个服务器端,再写一个客户端。服务器端请务必学会select这个简单的多路复用模型,这样你才能慢慢的深入里面poll,epoll,IOCP之类的模型。

4.文件操作   

所有的程序,基本都会用到文件的读写操作,windows系统有自己的文件操作API,比如CreateFile,DeleteFile等,请新手不要学windows的文件操作API,请学标准C语言的文件操作函数,简单易学还跨平台。就那么几个函数,三下五除二也就学会了,fopen,fclose,fread,fwrite,fseek,ftell就这么几个而已。

 5.深刻理解内存与指针的关系  

作为一个C/C++程序员,从学习程序的头一天开始,就要和内存的分配释放作斗争。你必须理解内存与指针的关系。怎么样才能理解呢,去看《高质量C/C++编程》里面自带的几个经典例子吧。把那几个例子搞得清清楚楚,基本能够理解其中的原理了。

 6.仔细研究apache源码

学程序,特别是C/C++程序,非3年之功可以出山。三年对一个C/C++程序来说是一个从量变到质变的过程,三年的项目实战经验,可以让你接触到一个完整的应用程序所需要具备的骨架。但是这个阶段你写的代码,可能充满BUG,会宕机,运行效率很差,自己回头看看一年前写的代码,可能自己都感觉恶心,看不下去。没有关系,这种感觉是每一个进步青年都会有的。要提高自己的代码水平,还是要像高手学习。你可能要问,公司同事的水平一般,水平好的人家也不愿意给我讲。没有关系,开源的代码就是你向高手学习的最佳途径,开源代码是高手留下的练功秘诀,你看了后会突然感觉茅塞顿开,感觉自己的水平差人家太远了。

为何要推荐apache的源码呢?

apache的源码是高手中的高手写的,执行效率和程序架构堪称一绝。里面的很多思想是所有程序都通用的,搞懂了,很多模块你也可以直接拿来使用。apache对内存池的使用,对线程池的使用,对模块结构的封装,非常具有实际意义。要是你能把apache的源码吃个透彻,每一个细节都搞明白了为何人家要这么实现,我可以给你说,“恭喜你,你离传说中的高手已经不远了。”

 7.修炼C++

上面的6个步骤说的基本都是修炼C的,要修炼C++,还得再花3年功夫,才有可能练成C++高手。C++太博大精深了,其中最复杂的莫过于泛型编程思想,不要以为能写个模板类就认为泛型编程不过如此而已。仔细看看STL源码,Boost源码,你就知道泛型编程有多么的博大精深了。修炼C++,可以从用C++封装的MFC, wxWidget入手,看高手如何通过C++语言,封装这样庞大的UI库,里面应用了很多的C++机制,最典型的就是多态机制,还有很多的设计模式应用可以研究。

 8.深研设计模式

设计模式是程序设计的灵魂,是通用方法,当你面对一个大型项目的时候,如何设计一个有弹性的系统,是所有系统分析员应该掌握的技能。在设计模式的研究上,要结合实际的项目进行。

修炼到第八层,基本上就可以算作一个C++高手了。然而具体的每一层,都需要你一步一步慢慢地去走。

不想人到中年失业,走下坡路,甚至“被下岗”,面临中年危机,需要提前规划好自己的人生,尤其是程序员这种相对比较吃“青春饭”的职业,利用好你的时间充分学习,提前将自己的技术修炼到一定水准。

相关文章

  • 如何成为一个很牛的C++程序员?

    每一个学技术的人,进入职场干个三五年就能成为大牛、跳槽去大厂、薪水翻番。或者在一个小公司里带个小团队、在30岁左右...

  • java高级用法之:无所不能的java,本地方法调用实况

    简介 相信每个程序员都有一个成为C++大师的梦想,毕竟C++程序员处于程序员鄙视链的顶端,他可以俯视任何其他语言的...

  • 程序员如何写出牛掰的简历 ?

    程序员如何写出牛掰的简历 ? 程序员如何写出牛掰的简历 ?

  • C++ 动态内存

    原文地址:C++ 动态内存 了解动态内存在 C++ 中是如何工作的是成为一名合格的 C++ 程序员必不可少的。C+...

  • 成为优秀程序员的8种方法

    成为优秀程序员的8种方法 是时候认真对待如何提高你的编程技能了。让我们开始吧! “成为一个牛逼的程序员”是一个看似...

  • 1.3.03_C++ 动态内存

    了解动态内存在 C++ 中是如何工作的是成为一名合格的 C++ 程序员必不可少的。C++ 程序中的内存分为两个部分...

  • 如何成为一个牛逼的C/C++程序员?

    这个题目的噱头太大,要真的写起来, 足够写一本书了。 本人是过来人, 结合自身的体会和大家交流一下,希望新人能少走...

  • 如何成为一名牛逼的C++程序员

    每一个学技术的人 都想干个三五年就能成为大牛 跳槽去大厂,薪水翻番 或者在一个小公司里,带个小团队 在30岁左右成...

  • 如何成为一个很牛逼的人

    特别简单,少吹牛逼,做那些你能做的事儿。 你看,说了你们都不信。 我一直不觉得自己是一个牛逼的人。 我特别怕吹出去...

  • 如何成为一个看起来很牛逼的人

    如何成为一个看起来很牛逼的人,我也不知道。我真知道如何成为一个看牛逼的人,我就不会在这里码字了。 言归正传,最近看...

网友评论

      本文标题:如何成为一个很牛的C++程序员?

      本文链接:https://www.haomeiwen.com/subject/nnqcgqtx.html