感觉C++方向还是挺多的,可以搞嵌入式,qt图形(我感觉这个领域不太行),系统组件开发,游戏开发之类的。我认为分布式开发C++应该也有一席之地。
我学习C++大体分为三个步骤。
1,学习C++基本概念,基本特性和底层机制,比如stl,模板,多态底层实现之类的。这个阶段随便找一个课程。学完基本课程,然后我用的一个技巧就是去牛客或者leetcode找面经,只看那些C++基本问题,然后遇见一个不会的就去补缺。这个过程可以配套leetcode刷题,顺便加固语法。
2,学习新特性。去ccppreference看有哪些新特性,学会如何使用。去听各种C++各种会议,比如cppcon,back to basic之类的,这些会议都是大佬中的大佬,很多都是标准委员会的巨佬。去挑选你感兴趣的来听,他们讲的都是非常底层的知识,你还能知道C++的未来趋势。比如2014年之前就有concept的概念了,2020年才正式提出,谁还🐶吧搞模板元。2017年才推出string_view,人家大公司早就自己造轮子了。

3,读源码,做(抄)项目。这个过程非常痛苦,难度是一方面,另一方面有些C++的项目是一个组件,或者是跟系统有关的底层,而且没有图形化,你根本不理解这个项目到底有个毛用

,不像java的什么系统一样,你一看名字就知道这坨代码最终实现的什么。我的建议是一开始啥也不用管,找个代码量少的项目开抄,没错,直接抄,能理解就理解,不理解就抄,抄完再去找文章解析理解。等你熟悉了几个模式,就可以去github找你感兴趣的项目,down下来跑几遍,gdb或者VS调试几遍,然后再实现一个自己的mini版本。比如我就偷了一个协程库还有几个其他项目的小模块缝合成一个我的小项目拿去面试
