为什么C++标准库没有Java和Python的丰富?

PythonJavaC++

1个回答

写回答

ddrhlai

2026-02-17 11:41

+ 关注

C++
C++

作为一个从业多年的程序员,我想分享一些经验:从你的问题来看,你可能还比较年轻。其实,每种编程语言都有其特定的定位。C++ 更倾向于底层开发,而 JavaPython 则处于更高的抽象层次。就像许多行业有上下游之分一样,不可能所有人都只做手机,却没人去做芯片。C++ 标准库中缺失的部分完全可以由第三方库来补充。它的标准库提供的是底层、粒度较小的 API,比如没有内置的图形库,但你可以通过使用 Qt 或 MFC 等工具来实现这些功能。而 Java 有 Swing 和 AWT 这样的图形库,但这并不意味着它们被广泛使用。同样地,如果 C++ 的标准库过于臃肿,你可能又会觉得它实现得太低级,从而拒绝使用。高层抽象库及其 API 的优劣往往难以评判,因为它们不仅考虑效率,还要兼顾软件工程的设计原则。很多时候,这些问题并没有绝对的答案,不像实现一个排序算法那样简单明了——只要快就行。类似的情况也可以在 C 语言中看到。C 的定位更加底层(注意是底层,而不是低级),它的库比 C++ 还要匮乏。然而,仍然有很多开源项目在使用 C,例如 Nginx。你可以这样理解:一台机器上可能会运行多个基于 Java Web 的网站,但只需要部署一个 Nginx。这就是不同语言的定位差异。每个网站的代码肯定各不相同,但 Nginx 安装完成后基本不会改变。C/C++ 通常应用于基础设施层面,就像高速公路一样;而 JavaPython 这类基于更高层次抽象的语言,则更多用于构建在基础设施之上的各种应用,就像跑在路上的汽车汽车每年都会生产很多新款,但高速公路并不会频繁新增,尽管如此,公路依然是不可或缺的。实际上,C++ 的标准库一直在扩展,但它对纳入新内容持非常谨慎的态度。一般某个功能会在 Boost 库中经过几年的验证后,才有可能被纳入标准库。我想分享一些网络上关于 C++ 的高赞观点和个人见解,希望能对你有所启发,让我们一起成长!如果你觉得有帮助,请记得关注我 @码农出击,点个赞支持一下!

举报有用(0分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号