我想认真学习一下后端语言C++!我应该怎么来学习?

你可以把这个作为基础路线,但还得增加不少东西!

如果你已经大三,今年6月就要开始找实习的话

那还学屁C++,去学java什么的

如果你现在时间还充裕?

那可以参考我自己的C++后端开发路线:(总共分了四个大项,每个大项之间是可以同步进行的)

语言工具方面

必读:

1.《C++ primer》(感到吃力的话可以先看《C++ primer plus》,找时间再把《C++ primer》看一遍)这本不用介绍了吧- -

2.《effective C++》C++是一门相对很复杂的语言,复杂也就意味着不好掌握他,很容易就写出坑,而这本书就是帮助你去避免一些常见的坑

3.《C++ 标准库》STL总得会吧?超厚的一本,劝退神作...

4.《effective STL》避免一些在使用STL时常见的坑

选读:

1.《STL源码剖析》这本书怎么说呢,适合去深入的了解STL源码,观察实现细节。时间多或者对这特别感兴趣... 可以读... 把我虐惨了,但是收益也很大就是了

2.《more effective C++》effective C++的续集,有时间的话可以读,内容深度上比effective C++深

3.《C++ Templates》C++模板的较深入学习,反正我没读完,太难了

实践:

1.《贪吃蛇》

2《XXX管理系统》

3.《json解析器/生成器》miloyip/json-tutorial可以照着这个写个C++版本的出来

以上三个项目在读完《C++ primer》/《C++ primer plus》+《effective C++》后进行

4.《mini STL》力所能及的去尽量写,能写多少算多少,参考标准文档的接口实现,可以暂时不考虑整体结构,可以暂时不写成模板的...

在读完《C++ 标准库》和《effective STL》后完成

5.重构《mini STL》

如果你读了选读的部分... 也是尽力而为吧...

计算机基础方面(注意,这儿的基础理解为底层什么的更合适)

必读:

1.《编码》科普向,很有意思,启发兴趣和简单有个最大概的认识...

2.《深入理解计算机系统》计算机体系结构、计算机组成、操作系统、汇编语言 这些玩意的导论

3.《现代操作系统》较深入的系统学习操作系统方面的知识

4.《计算机网络——自顶向下方法》如书名- -

选读:

编译原理相关的书,因为这个本身我也学得很差,而且兴趣不大... 就不具体推荐了

计算机组成原理/计算机体系结构相关的书,这方面的知识我感觉深入理解计算机系统里讲的对我而言够用了,所以也不具体推荐了

实践:书后的习题能完成多少算多少吧- - 难度很高...

数据结构与算法

                                       

必读:

1.《数据结构与算法分析》

2.《算法》

选读:

3.《算法导论》

这三个没啥好说的,反正就是数据结构与算法的东西嘛

实践:

尽量去实现学到的结构/算法

杂项

必读:

1.《linux鸟哥私房菜基础版》学会使用linux

2.《UNIX高级环境编程》

3.《unix网络编程》

4.《Linux多线程服务端编程》

5.《head first 设计模式》

6.《程序员的自我修养》

7.《数据库系统基础教程》

8.git与github的使用,这个看廖雪峰大佬的博客学就行了

选读:

1.《代码大全》

2.《UNIX编程艺术》

3.《QT Creator 快速入门》

.....

这儿可以写的书就很多了... 我就大概写了我读完并觉得很不错的列了出来,顺序上除了前面4本,其他的倒也不用按顺序阅读了

实践:

学到这儿了,能实践的东西可就太多了,下面给出简单的建议:

1.即时通讯软件

2.阅读好而简单的项目源码

......

结束

好了,这就是我自己大概的学习路线,需要注意的是,这是C++后端服务器开发的路线,所以请别问我为什么没有《OpenGL编程指南》之类的书。学习时间上... 花了两年半的样子,如果自己不贪玩的话(steam喜+1警告),估计需要一年半的样子去完成这些内容。

博主是一个有着7年工作经验的架构师,对于c++,自己有做资料的整合,一个完整学习C语言c++的路线,学习资料和工具。可以进我的Q群8680,17157领取,免费送给大家。希望你也能凭自己的努力,成为下一个优秀的程序员!另外博主的微信公众号是:C语言编程学习基地,欢迎关注!

作者:龙时雨

原文链接:https://www.zhihu.com/question/318605372/answer/641486772

来源:知乎

你可能感兴趣的:(C++,c/c++,后端语言,编程语言,学习编程,c/c++)