您现在的位置是:首页 >技术交流 >【C++ 入坑指南】(01)学习路线网站首页技术交流

【C++ 入坑指南】(01)学习路线

Kevin-Dev 2023-05-11 22:30:02
简介【C++ 入坑指南】(01)学习路线

在这里插入图片描述

入门

1. 推荐书籍

《Accelerated C++》,《Essential C++》二选一精读。《A Tour of C++》选读。

  • 《Accelerated C++》很适合新手,因为只有短短不到 300 页,在普遍一样的入门书籍里面是一股清流。容易通读完,减少挫败感。就这样的篇幅,还能涉及一些标准库的使用,真的很适合入门。

  • 《Essential C++》比较适合有其他编程经验的中手迅速学习C++。内容会比《Accelerated C++》深一些。

  • 《A Tour of C++》,C++ creator 扛鼎之作,适合刚学完、还有学完很长时间以后看,快速复习 C++ 知识。

2. 推荐网站

3. 代码

主要是上 GitHub 看点别人的代码,尝试写点代码。

入门这一步是最关键的,你初步了解了各种基本概念,并成功书写和运行起了代码,感觉真棒~

进阶

1. 推荐书籍

  • 《C++ Programming Language》和《C++ Primer Plus》二选一精读。之后有时间可以翻翻另一本。

  • 了解函数库:可以按顺序看看《C++ 标准库》、《深入理解 C++ 对象模型》和侯捷老师的《STL 源码剖析》。

  • 如何写出更好性能、更优雅的C++代码感兴趣? 可以继续看《Effective C++》和《More Effective C++》,《Exceptional C++》。这几本书,能让你了解优秀工程实践,认真看完能说有自信较有质量地参与工程项目了。

  • 最后,多了解计算机结构、存储、运算原理方面的知识,会对C++ 的来龙去脉理解得更透彻,可以读读《计算机科学导论》、软件工程的《代码大全》、操作系统的《现代操作系统》、程序员入门的《深入理解计算机系统》。

答疑

问题1:要不要先学C,再学C++?
个人看法是,单就学习C++而言,直接学习C++就可以了,不用先学C。在知乎看到轮子哥在微软维护STL的Stephen Thomas Lavavej都说他当年学C++之前学C语言浪费了大量的时间,早知道就直接从C++开始。

问题 2:Android 和 C/C++ 怎么结合起来?
可以搜索 NDK、JNI 等关键字了解,网上铺天盖地的基本教程。这个学会基本使用应该大家都没啥问题,但是如果是更深入一点,比如具有明确功能的代码中,c 代码是什么结构的,生命周期,怎么跟 Android(Java)配合等等,说实话,需要一个项目的实践。

问题3:就对于 Android 开发者而言学习 C/C++ 有没有必要呢,怎么结合起来呢?
个人觉得必要性要看所在公司的业务领域和你的个人兴趣。比如直播公司涉及的音视频业务,必然是要涉及 c/c++ 的(ffmpeg 啥的哪有java代码);类似的需要 c/c++ 的业务一般是些重性能、偏底层的东西。如果你判断自己公司中短期都没这个需要,那就轮到看自己有没有兴趣了。前景的话说句题外话,大前端慢慢侵蚀原生开发,慢慢单纯的 Android 开发会被替代的,虽然过程应该很缓慢。一方面你也可以转大前端,这样比较快速;另一方面就是可以深入做这些偏底层的东西,没那么容易替代,但未来的事情谁又说得清楚呢,哈哈。

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。