【问题标题】:C++ standard APIC++ 标准 API
【发布时间】:2011-04-23 06:55:04
【问题描述】:

我是一名学生,并且是 C++ 新手。我正在寻找与 Java API 一样全面的标准 C++ API。到目前为止,我一直在使用cplusplus.comcppreference.com

任何帮助将不胜感激。

【问题讨论】:

  • API 是什么意思?你想要什么功能?标准库有什么不好?
  • 您是否正在寻找 C++ 标准库的综合参考资料?或者您正在寻找与 Java 库一样全面的 C++ 库?
  • 您提到的网站涵盖了所有可以被视为 C++ API 的内容。
  • @james,我在找一个和java库一样全面的c++库。
  • @Dustin 我认为最接近的应该是 Qt 库。 qt.nokia.com/products

标签: c++ api


【解决方案1】:

C++ 和 Java 有非常不同的标准库,因为它们对它们的用途做出了非常不同的假设。

Java 假定应用程序或小程序将在具有功能齐全的操作系统的主机上运行,​​并以一种定义的方式来做大多数正常的事情。

其中有很多内容,例如,在 java 中,输出将是应用程序或小程序。 C++ 不做这种假设,因为 C++ 可用于构建操作系统内核和内核驱动程序,它可用于在微控制器上编写全栈实时应用程序,或在超级计算机中处理块。

C++ 可用于实现它所运行的操作系统。

由于这些原因,标准库几乎不假设它会提供什么,因此标准库不会对这些功能产生任何依赖关系。

唯一的例外是文件和流,因为几乎任何像堆栈这样的操作系统都有一些看起来像文件流的东西,如果它有任何类似文件的话。

如果您想要一组更丰富的操作系统特定 api,您需要查看一些非标准的内容。 Qt 框架是一个不错的选择,它提供了许多类似于 Java 库中的工具,它是跨平台的,并且可以很好地与原生 C++ 习惯用法配合使用。

【讨论】:

  • 我同意,我认为标准库、boost 和 Qt 构成了一组非常全面的库,具有最少的依赖项,并且易于启动和运行(我最讨厌的一个...依赖项地狱)。
【解决方案2】:

C++ 有一个标准库

您可以尝试阅读"The C++ Standard Library: A Tutorial and Reference"。虽然我自己不拥有它,但它在我们的book list 上(我建议您查看),所以应该不错。

注意 C++ 不是 Java,因此库不一定具有相同的功能。您需要查看的另一个资源是Boost,它是标准库所缺乏的编写良好的 C++ 库的来源。

【讨论】:

    【解决方案3】:

    GNU C++ Standard library documentation 是我最常提及的那个。

    【讨论】:

      【解决方案4】:

      Java 是一种虚拟机语言,因此试图拥有一个全面的 api 来提供一种独立于平台的方法来绘制/写入文件/任何内容。在 JRE 的内部,他们正在接受这些通用输入并使用它们来做特定于平台的事情。在 C++ 中,你就是那个工作的人。许多 c++ 库是特定于平台的,请参阅 MFC、ATL 或为 XWindows 编写的代码,您的工作是决定如何实现某个功能,并查看这是特定于平台的功能还是可以以独立于平台的方式完成。

      如果您在 windows 或 unix 上编写,我可以保证操作系统 API 非常完整,并且可以让您完成您想要完成的任何事情。还可以看看 lib qt 等跨平台库。

      【讨论】:

        【解决方案5】:

        Java 的标准库旨在提供即用型功能,而 C++ 标准库旨在提供核心语言未定义的构建块。 Boost 库与标准库的方向基本相同(图像处理等少数例外)。我认为最接近 Java 标准库之类的东西是 Poco 库。

        但是,当我尝试使用 Poco 库时,我发现它对我的口味来说有点过于面向 C。

        也就是说,它不是“现代的”。您甚至无需查看 API 即可立即获得这种印象,因为在线文档使用 1990 年的框架。 :-) 但是,它可能会满足您的需求。

        【讨论】:

          【解决方案6】:

          如果您指的是 c++ 标准库,我会查看 www.cplusplus.com。它涵盖了当前的标准。熟悉后,您可以尝试查看boost
          即将到来的 c++0x 标准有许多变化。 WikipediaSO 一样拥有其中一些信息。

          IMO 排名第一的 C++ 书籍是 Scott Meyers 的 Effective C++

          【讨论】:

            猜你喜欢
            • 2012-08-23
            • 2017-04-18
            • 2021-12-01
            • 2014-08-16
            • 2012-01-14
            • 2011-10-09
            • 2023-03-25
            • 1970-01-01
            相关资源
            最近更新 更多