库与c ++中的类

时间:2015-11-18 23:35:21

标签: c++ oop terminology

我在C ++中遇到了一个术语库,它是一个库。我正在阅读的书中指出iostream是一个库,它是一个系统库。之后,它在书中说,"之后,您将创建自己的扩展名为.h"的库。库是和类一样的,因为很明显,当我包含我的.h库时,我实际创建了一个类。 如果一个库与一个类相同,我们可以用C语言说什么呢,它是一个类吗? 谢谢。

1 个答案:

答案 0 :(得分:2)

请注意,这只是一个简单的解释,因此您可以围绕它,而不是一个迂腐或完整的库定义。

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

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

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

The IO library包含一些类:

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

为了使用库,您基本上需要两件事:库头以便能够访问声明,以及需要链接到项目的库,以便能够访问由此类库导出的符号。操作系统预装了C ++标准库,编译器 - 在C ++模式下 - 自动链接到它,所以你要做的就是包含必要的标题。

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

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

使用以上所有内容,您应该能够将多个源文件编译为一个可执行文件,并了解所涉及的基本机制。您可以阅读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>。归根结底,它取决于你想要吸收多少&#34;因为它是如何完成的?#34;你想了解多少只有当你选择其中一个选项时才能取得进展(剧透:它是后者)。