为什么 C++ 标准仍然不包括文件系统和网络?

Why does c++ standard still not include file system and networking?

我一直在想这个问题,一直没有找到相关的答案。那么你有什么线索吗,为什么 C++ 标准委员会甚至不考虑在未来添加这样一个基本功能?在我看来,为了在当今可用,每种编程语言都必须实现这些基本的东西:

  1. 多线程
  2. 网络
  3. 文件系统
  4. 图形界面

我很高兴已经决定,C++11 将至少有线程,但是做网络和文件系统有什么大不了的吗?我们都知道这是可能的,例如 boost,那么他们为什么不做类似的东西呢?

  1. 多线程is already in
  2. 以 100% 与平台无关的方式实施网络可能很有趣。不过也不是不可能。
  3. 文件系统访问(即目录枚举等)几乎成为最新规范,但他们阻止了它。他们仍在努力(这里是 likely implementation),但它可能会进入下一个版本。
  4. 成熟的 GUI 工具包并不完全 "a basic thing" 并且很少有理智的语言提供实际可用的 GUI 作为其标准库的一部分。

Why does c++ standard still not include file system and networking? Do you have any clue, why the C++ standard committee is not even thinking about adding such an essential features in the future?

不,主要是因为事实并非如此!
There are ongoing efforts to define standard support for both.

就我个人而言,我不明白为什么我们需要语言本身的任何这些。这样做的主要问题之一是您几乎不可避免地限制语言支持您正在考虑的那些主流台式计算机(IPv4,FAT32/NTFS?),而 C++ 的全部目的是成为 抽象 远离现实。这就是 C++ 如此通用的原因:当您不受 标准 .[=12 的过度约束时,您可以使用 实现 做很多事情=]

至于线程,它已经存在了,至于 GUI……好吧,这是相当有争议的。你必须定义你的意思,然后你必须比今天和明天的第三方库更好地定义它。这不是微不足道的。

请随意为标准化工作做出贡献,而不是简单地抱怨。