gpt4 book ai didi

c++ - C++ 中的库与类

转载 作者:行者123 更新时间:2023-11-28 02:16:52 24 4
gpt4 key购买 nike

我在 C++ 中遇到了一个术语,它是一个库。我正在阅读的书指出 iostream 是一个库,它是一个系统库。然后在那之后它在书中说,“稍后,你将创建你自己的扩展名为.h的库”。库是否与类相同,因为很明显,当我包含 .h 库时,我实际上已经创建了一个类。如果一个库和一个类是一样的,我们用C语言怎么说,它是一个类吗?谢谢。

最佳答案

请注意,这只是一个简单的解释,因此您可以全神贯注,而不是对库的迂腐或准确而完整的定义。


库是函数、类和其他打包在一起的东西的集合。

例如,C++ 标准库(概念上)由许多库组成,例如:

  • 字符串库
  • 算法库
  • 输入/输出库
  • 等等

The IO library包含一些类,例如:

  • std::iostream (实际上是 std::basic_iostream 的类型定义)
  • std::ios
  • std::istream
  • std::ostream
  • 等等

为了使用库,您基本上需要两样东西:库 header 以便访问声明和需要链接到您的项目的库以便访问此类库导出的符号。该操作系统预装了 C++ 标准库,编译器在 C++ 模式下会自动链接到它,因此您只需包含必要的 header 即可。


要了解 header 是什么及其作用,您首先需要了解声明和定义之间的区别。您可以转至What is the difference between a definition and a declaration?或任何其他阅读 Material 。

然后你需要了解编译单元的概念。你可以阅读What is a “translation unit” in C++How is compilation unit defined in c++ .

使用以上所有内容,您应该能够将多个源文件编译成一个可执行文件,并了解所涉及的基 native 制。你可以阅读Using multiple .cpp files in c++ programHow to use multiple source files to create a single object file with gcc

从这里开始,只需一小步就可以创建和使用您自己的静态库。您可以从这里开始:How to create a static library with g++?

另一个需要理解的重要概念是编译/链接:How does the compilation/linking process work?


...或者您需要知道的是,为了使用 std::iostream你需要包括 <iostream> .最终取决于你想吸收多少“因为这就是它的完成方式”以及你想了解多少。只有选择其中一个选项才能取得进展(剧透:是后者)。

关于c++ - C++ 中的库与类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33792586/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com