c++中的库与类

Libraries vs classes in c++

本文关键字:c++      更新时间:2023-10-16

我在C++中发现了一个术语,它是一个库。我正在读的这本书说iostream是一个图书馆,它是一个系统图书馆。然后,它在书中说,"稍后,你将创建自己的扩展名为.h的库"。库与类是否相同,因为很明显,当我包含.h库时,我实际上已经创建了一个类。如果一个库和一个类是一样的,那么在C语言中,它是一个类吗?非常感谢。

请注意,这只是一个简单的解释,所以你可以仔细考虑它,而不是一个迂腐的或准确完整的库定义。


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

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

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

IO库包含一些类,如:

  • std::iostream(实际上是std::basic_iostream的typedef)
  • std::ios
  • std::istream
  • std::ostream
  • 等等

为了使用库,您基本上需要两样东西:一个是库头,以便可以访问声明;另一个是需要链接到项目的库,以便可以使用该库导出的符号。操作系统预装了C++标准库,编译器在C++模式下会自动链接到它,所以你所要做的就是包含必要的头。


为了理解什么是头以及它的作用,您首先需要理解声明和定义之间的区别。你可以冷藏到定义和声明之间的区别是什么?或任何其他阅读材料。

然后,您需要了解编译单元的概念。您可以阅读C++中的"翻译单元"是什么,或者C++中的编译单元是如何定义的。

使用以上所有内容,您应该能够将多个源文件编译为一个可执行文件,并了解所涉及的基本机制。您可以阅读在c++程序中使用多个.cpp文件或如何使用多个源文件创建带有gcc 的单个对象文件

从这里开始,有一个小步骤可以创建和使用您自己的静态库。你可以从这里开始:如何用g++创建一个静态库?

另一个需要理解的重要概念是汇编/链接:汇编/链接过程是如何工作的?


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

相关文章:
  • 没有找到相关文章