每年都有人发一篇文章,标题叫做「C++已死」。内容很严肃,论据充分,作者显然做了功课。文章被转发、点赞、评论。

与此同时,C++悄悄地运行在你的浏览器里、显卡里、交易终端里,还有你最爱的游戏引擎里。没有声明,没有新闻稿。
这种状况已经持续了大约二十年。我觉得C++压根不看那些文章。
C++是什么,从哪里来
1979年,贝尔实验室。一位年轻的丹麦程序员比雅尼·斯特劳斯特鲁普正在用C语言为电话网络建模。代码越来越庞大,越来越难以管理。他看着用Simula工作的同事——那里有类,有漂亮的对象结构。他想:「如果能把C的速度和像样的代码组织方式结合起来,那该多好?」

就这样,「带类的C」诞生了。后来又加入了模板、异常处理、标准库——1983年,这门语言正式更名为C++。
「++」是自增运算符,意思是「C加一」。社区里至今流传着一个玩笑:这门语言应该叫++C——这样改进就能在使用之前生效,而不是之后。斯特劳斯特鲁普听过这个笑话,但名字还是没改。
现在说说C++为什么这么快——以及为什么这么费劲。这是同一枚硬币的两面。
大多数现代语言运行在虚拟机或解释器之上。Python先把代码转成字节码,再即时解释执行。方便吗?方便。快吗?不快。C++直接编译成机器指令——处理器拿到的就是你写的东西,没有翻译,没有中间层。速度就来自这里。

另外,你要自己管理内存。想分配就分配,想释放就释放,没人替你做。这就是「直接内存访问」的含义。它让你对硬件的控制达到Python或Java根本无法企及的程度。也正因如此,C++的恐怖故事才层出不穷:忘记释放内存——内存泄漏;访问了错误的地址——程序崩溃。
根据2025年TIOBE指数,C++在全球所有编程语言中排名第3——仅次于Python和C,领先于Java、JavaScript及其他一切。
这门语言在持续演进:C++11、C++14、C++17、C++20、C++23。现代C++和2005年教科书里的C++,实际上是两门语法相似的不同语言。让旧C++令人痛苦的那些东西,在新标准里已经得到了大幅改善。
C++用在哪里——具体领域
游戏开发与游戏引擎
虚幻引擎(Unreal Engine)是用C++写的,全部都是。当《堡垒之夜》里一栋建筑爆炸,物理引擎在毫秒内实时计算每块碎片的运动轨迹——那就是C++在处理成千上万个对象。

《荒野大镖客:救赎》《赛博朋克2077》《战神》——全都基于C++或用C++编写的引擎。游戏需要每16毫秒(即60帧每秒)同时处理渲染、物理、动画和网络代码。Python做不到,C++可以。
人工智能与机器学习
你看到的是Python。优雅易用的Python,用model.fit()五行代码就能训练神经网络。但底层——那是C++在真正把矩阵推过GPU。

PyTorch是用C++写的,TensorFlow也是。当一个神经网络在数百张GPU上训练数周,每一个百分点的性能都是真金白银。张量运算、CUDA内核、硬件级优化——这些都是C++。Python不过是漂亮的外壳。
金融与高频交易
在证券交易所,交易系统以微秒级速度做决策。一微秒是一秒的百万分之一。Python还没开始执行一行代码,C++系统已经完成了买入、卖出和结算。
Citadel、Jane Street、Two Sigma——这些公司的开发者收入在全球几乎无出其右。因为他们用C++写的系统里,10微秒的延迟就是实实在在的亏损。
系统编程与嵌入式开发
你的车有车载电脑吗?那里跑的是C或C++。智能冰箱、医疗设备、工业控制器、路由器?一样。
嵌入式开发里没有「内存够用就行」的奢侈。64KB内存,要求五年不重启稳定运行。医疗设备出了bug,不是「发个热更新」的事。你能理解为什么这里的专家这么值钱。
Chrome是用C++写的,Firefox也是。Adobe Photoshop——C++。MySQL、PostgreSQL——C++。Meta把部分基础设施从PHP迁移到C++,只为省电费。这不是小众领域,这是支撑整个互联网的基础设施。
C++ vs 其他语言:什么时候选什么
最常见的问题:「既然有Python / Java / Rust,为什么还要用C++?」

实话实说:每门语言都有自己的定位。
C++ vs Python:在计算密集型任务上,Python比C++慢10到100倍。但Python更简单,开发速度更快。执行速度是关键——选C++;开发速度更重要——选Python。正因如此,业务逻辑用Python写,而Python依赖的那些库是用C++实现的。
C++ vs Java:Java更安全(自动内存管理),但更慢,也不提供底层硬件访问。需要最大控制权时选C++。
C++ vs Rust:Rust是一门较新的语言,解决的问题和C++相似,但内存安全保障更强。Rust在快速崛起,但C++身后有四十年的代码库、生态系统和工具链。两者还会长期并存。
为什么C++开发者收入更高
简单的经济学。真正写得好C++的人不多,问题复杂,责任重大。
当前市场数据(Glassdoor、Indeed、Zippia):
- 美国:年均约10.6万美元。金融或大厂Senior——15万到20万美元以上
- 西欧(德国、英国):5万到9万欧元
- 东欧:2.5万到7万美元,因国家和级别而异。波兰、捷克偏高(Senior可达5万到7万美元)。保加利亚、罗马尼亚略低。为西方公司远程工作的薪资往往超出这个范围
- 印度:0.8万到2.1万美元以上,产品型公司明显更高
- 中国:3.7万到6.8万美元以上,北京和上海在顶端。阿里巴巴、腾讯、华为、字节跳动均在积极招聘
作为对比:同一公司同一岗位,Python初级工程师和C++初级工程师的起薪不同。C++更高。不是因为这门语言「更好」,而是因为懂的人更少。
2026年值不值得学C++
实话实说:不是所有人都适合。
如果你想快速进入互联网行业做Web应用——Python或JavaScript能更快带你到达。认真的,没有讽刺——对大多数人来说,那才是正确的选择。
如果你有以下目标,C++值得学:
- 从事游戏开发——写引擎,而不只是用现成工具做游戏
- 进入高频交易或金融——那里C++不是选项,是门槛
- 做嵌入式开发——智能设备固件、汽车电子
- 从事AI基础设施——框架优化、推理引擎
还有一个很少被直接说出来的理由。C++教你像工程师一样思考。手动管理内存的时候,你能看到计算机里真正发生了什么。经历这个之后,你对其他任何语言的理解都会更深一层。经历过C++的人,往往在任何技术栈下都是优秀的工程师。
这个副作用不赖,对吧?
说个真实的故事。伟明之前做系统管理员——维护服务器、管理网络,收入还不错,但感觉到了天花板。他决定学C++——不是为了转行,只是真的好奇硬件底层是怎么运转的。他每天晚上自学,坚持了一年半。后来偶然看到一家嵌入式公司的招聘,他们做工业控制器软件。他投了简历,被录用了。现在他远程为一家德国客户工作,收入翻了一倍。
他说,最有价值的不是C++本身,而是学完之后看待内存和资源的思维方式。这种思维在系统管理工作里也派上了用场——他开始用完全不同的视角看底层发生的事情。
C++的优缺点
优点:
- 极致性能——只有汇编语言比它快
- 对内存和硬件的完全控制
- 庞大的生态系统和四十年的生产代码库
- 跨平台
- 专家薪资高
缺点:
- 入门门槛高——比Python或Java难
- 手动内存管理 = 你要对每一次泄漏和崩溃负责
- 大型项目编译时间长
- 语法有时候像是不同时代的不同人写的——因为确实如此
最后这一点不是在攻击这门语言,而是四十年演进的现实。C++积累了好几层语法,有时候确实能感受到。
常见问题
用简单的话说,C++是什么?
C++是一门编程语言,可以编写非常快速、直接控制内存的程序。用于性能至关重要的场合:游戏、金融系统、操作系统、AI框架。
C++用来做什么?
C++用于性能关键型任务:游戏引擎开发、高频交易、嵌入式系统、系统编程、AI/ML基础设施。
C++难学吗?
比Python或JavaScript难。手动内存管理、指针和模板都需要时间。到找到第一份工作的现实时间线:一到两年。但薪资与之匹配。
C++过时了吗?
没有。C++在2025年TIOBE指数中排名第3。这门语言在持续演进——最新标准C++23于2023年发布。在游戏开发、高频交易和嵌入式领域,C++没有真正的竞争对手。
C++还是Python——学哪个?
取决于你的目标。Python——快速入门、机器学习、Web后端、自动化。C++——游戏开发、系统编程、金融系统、嵌入式。这是不同任务的不同工具。
现在就试试
如果你想动手实践C++,CodeGym有专门的课程。72个关卡,1000多道练习题,采用现代C++23标准。讲解通俗易懂,没有枯燥的教科书语言。第一关免费——去看看这种学习方式是否适合你。
→ 免费试用:codegym.cc/zh/courses/cpp
延伸阅读
- 谁是C++开发者——他们做什么、挣多少、如何入行
GO TO FULL VERSION