作为一个有自学多年c++自学经验的老工程师,很愿意分享自己的学习历程。
在这个各种快速开发语言层出不穷、各种技术栈粉墨登场的时代里,还愿意自学C++,我首先假设你是一个富有钻研精神的人、对操作系统底层架构技术充满好奇、愿意为自己的作品呕心沥血、孜孜以求的人,如果是,那么请和我一起踏上c++自学之旅。
1.作为入门书籍《C++ Primer》和《c++程序设计语言》,这两本书二选一,这是非常经典的书,这是必须要完成n遍的,其他所谓的诸如此类《×××天学会xxx》的书直接放弃吧,每次重新读的时候都会有这种感觉:原来书籍有说到这个东西啊。如果有想快速入门的可以看看《Essential C ++》这本书是primer的精简版。
本人新建一个程序员交流圈子,群主是10年老技术人员,某上市公司的技术负责人,群里面每天会给群友解答疑问,招聘内推,点击即可加入圈子
2.进阶之路:effective系列:effective c++ /more effective c++/effective stl
exceptional 系列:exceptional c++/more effective c++
effective非常经典,读完受益匪浅,Google编码规范很多出自这里。
3.到这里要特别强调一定要读Google C++ 编码规范:【Google C++ Style Guide】https://google.github.io/styleguide/cppguide.html,这个要读n遍并且在实际编码过程中要严格实践,这是工作之后觉得最有意义的事情,在B公司工作不符合编码规范连代码都不好意思发起code review,也不允许提交不符合编码规范的代码,当然b家的编码规范跟Google出入的很少很少。
4.继续深入:《深度探索c++对象模型》这本书作者跟primer是一个人,深入研究一下内存对象布局。
5.模板和stl
c++ templates/stl源码剖析
熟悉模板编程和常用stl容器内存实现以及适配器实现和常用标准库算法
技术交流群,群友每天分享干货,答疑解惑
6.工具书:c++程序设计语言/c++标准库
最后,多上github,阅读经典的开源代码。