C++编程语言的广泛应用:八大就业领域解析

发表时间: 2021-01-07 07:00

微信搜「 后端技术学堂 」程序员学习课堂,回复「1024」获取 50 本计算机编程学习电子书,回复「路线」获取最全面技术学习路线思维导图

前段时间在知乎上,回答了一个关于C++学习方向的问题,我觉得学习C++之前知道方向非常重要,这样就更能加有目标的去学习。

回答原文:
https://www.zhihu.com/question/26248074/answer/1658906364

注意到题主是大二的同学,有这样的困惑很正常。

其实能想到这个问题,已经领先一部分 C++ 初学者了!带着目标去学习,是非常高效的学习方式。

C++就业方向

C++太强大了,能做的方向很多,我大概罗列一下,包括但不限于以下方向:

  • C++服务器后台开发(流媒体后台,游戏后台,高性能服务器后台)

精通C++,STL,Linux等,熟悉设计模式;熟悉常用数据结构和算法

熟练掌握C,C++,ATL,COM等编程技术,Windows系统编程熟悉窗口,网络和多线程技术。

  • C++游戏开发(游戏方向,熟悉游戏引擎cocos2dx等)

熟悉Win32API,WIN32/VS开发平台,C++开发库(STL/MFC/QT等),常用数据结构和算法;精通C++编程,精通网络编程,熟悉游戏服务器端架构和客户端代码、熟悉数据库开发。

  • C++逆向开发工程师(网络安全,破解等)

熟练掌握C/C++,精通汇编语言,有较强的程序反汇编技术和逆向分析能力;熟悉PE文件格式,数显掌握Softlce、IDAPro、OllyDebug,WinDBG等调试、逆向工具。

  • 智能硬件和可穿戴设备(智能硬件VR/C++)

熟悉网络编程和多线程编程,掌握C/C++,精通3D图形引擎开发,深入了解对图形学知识,熟练使用DirectX、OpenGL或Metal。

熟练操作Linux系统,C/C++语言以及相关的编译和调试技术,精通Linux平台相关驱动开发技术,精通bootloader移植、内核剪裁等技术。

  • 音视频解码(协议优化)

熟悉C/C++开发语言:WINDOWS PC客户端软件开发,熟悉掌握OpenCV中图像/视频算法;能熟练阅读英文算法及其他技术文档。

  • 图像处理(机器视觉,医学图像,遥感图像,人像{美颜}等)

精通C/C++,熟悉Linux下的编程,熟悉OpenCV以及ROS,SLAM,TLD等相关系统和技术。


以上 8 个方向是 C++ 能做的主要工作方向,可以看到用途非常广泛,但其实在工作中,人的精力是有限,大部分人只能在一个方向上发力。

C++基础学习

C++是一门高级程序设计语言,又不像Python 和Java 那样高级,C++还更偏向底层一些,下面这些是C++的基础内容,单纯的 C++基础需要学什么

  • 面向对象的特性,封装、继承、多态
  • 堆和栈的区别,mallocl和new的区别
  • 虚函数、虚函数表,对象内存布局
  • 重载Overloading和覆盖Overriding
  • 引用与多态的关系
  • 派生类中构造函数与析构函数,调用顺序
  • 析构函数、构造函数
  • 模板类,泛型
  • 结构体内存对齐方式
  • 指针和引用
  • static关键字作用
  • 虚表,基类的虚表是什么样的,派生类虚表,单继承、多继承、菱形继承
  • #define与const的区别
  • volatile 关键字
  • C++中的强制类型转换:reinterpret_caststatic_castconst_cast
  • 析构函数中抛出异常时概括性总结
  • C++1X、C++20 新特性

以上差不多是C++基础需要学习的内容,当然,如果感觉C++基础学的还有些吃力,特别是初学者,建议可以跟着老师视频学习,这里推荐浙大翁恺老师C++面向对象程序设计,网易云课堂17.1万人学过了,你可以配合C++ Primer +视频学习。

感谢阅读到这里的同学,祝大家都能拿到满意 offer~

读者福利

新年新气象,感谢各位读者大大对 @程序员柠檬橙 一年以来的关注和支持!

微信红包封面送给大家,数量有限,比手速拼运气,手慢无哦!

另外,牛气好运分享给更多小伙伴,祝大家新年牛气冲天~

领取方式:私信@程序员柠檬橙 发送:【666

往期精彩文章

面试不懂 Linux 内存管理?我用 20 张图给你讲明白

这个大学在Github开源了计算机课程,看完在家上个 985

全网最全总结,如何高效学习C++软件开发(详细书单)


私信@程序员柠檬橙 发送 「1024」 获取编程学习资源,若有帮助,请点赞转发支持一下~

我是@程序员柠檬橙关注我,学习更多编程知识!

点击下方「了解更多」下载学习资源