虽然 C++ 需求量比 Java 这类会少一些,但是相对来说竞争也小一些。
尤其是对性能或者执行效率要求比较高的应用,比如游戏引擎、Infra、推荐引擎、存储,当然也能拿来写业务,另外我发现大部分学习 C++ 的同学底层知识会接触得多一些,后面上手其它语言也很快。
说起 C++,很多人的第一反应就是:复杂、难学,事实也的确如此。但不可否认,C++ 在近 30 年里经久不衰,并且现在学习 C++ 的人还在逐年增长。
究其原因,是 C++ 有着独特优势。C++ 是编程语言中的“万能选手”,它的适用领域非常广泛,许多新的编程语言都从它身上汲取了设计灵感。作为一门接近底层的语言,它可以帮你更好地理解计算机系统的应用机制,提升混合编程的能力,学完 C++,再学其他的语言,就会感觉容易很多。
而且 C++ 的两大利器:高抽象层次,又兼具高性能,这也是其他语言所无法替代的。现在很多有名的软件框架里都能看到 C++ 的影子,还有许多浏览器内核代码几乎全是 C++。在运行效率要求比较高的行业,如游戏、高效服务器等, C++ 更是有着不可比拟的优势。熟练的 C++ 工程师自然也获得了“高水平、高薪资”的名声,这也就是为什么有这么多人都在硬着头皮继续学。
但C++的学习困难也是很明显的。
随着标准版本的演进,C++ 里包含的东西也越来越多。不断膨胀的核心语言加上庞大的标准库,让学习、使用 C++ 的门槛无形中提高了很多,不仅“新手”学起来很难,就连“老手”也觉得用好它并不是一件容易的事情。大家总会遇到一些共性的难题:
C++ 太庞大复杂了,该怎么抓住重点?该用哪些特性?
C++11/14 有很多新特性,时间精力有限,用哪些能够迅速改善代码质量?
开源的 C++ 库很多,但良莠不齐,哪些库最好用呢?
标准库里的东西太多了,比如容器、算法、迭代器、函数对象……怎么用最合适?
.....
那么,C++ 有办法轻松地学习吗?
市面上有不少讲解 C++ 的书,但 C++ 实在是太庞大了,相应的书都很厚,慢慢去“啃”、去“消化”实在是吃力。而且这些纸面上的知识,离实际的开发还有一定的距离,你难免会有这样的感慨:
“道理我都懂了,可用起来还是会犯怵,要是身边能有个人来指点一下该多好。”
是的,学习 C++ 最缺乏的就是一个“导师”,他能帮你跨越从课堂到现实的“鸿沟”,告诉你实际工作时会遇到哪些问题,又该怎么处理。
在这里我推荐1.c++ primer plus
2.【黑马程序员匠心之作|C++教程从0到1入门编程,学习编程不再难-哔哩哔哩】 https://b23.tv/RkrWA2b
对于大学四年出来想直接就业,又不是双非学校的同学来说,我认为四年内认证学会并且能够精通一门语言,那么找到一个差不多的工作将不在话下。
在学校你可能会发现有好多同学选择java,认为c++比较难学,有时候想,在你们学校有好多同学选择了java.在其他学校也将会是如此,我们何尝不 反其道而行之,我们何尝不,早点对自己的未来提前规划,在大学这四年内,在空闲时间内就学习习c++,到时候再大概的去掌握java,那么岂不是鱼和熊掌兼得也