提问人:Shivam Tanwar 提问时间:12/20/2022 最后编辑:HolyBlackCatShivam Tanwar 更新时间:12/21/2022 访问量:892
iostream 是标头还是库
Is iostream a header or a library
问:
我刚刚开始学习 cpp,真正让我感到困惑的一件事是 or .有人说我们包含iostream库,有人说这是用于包含头文件的。但是没有扩展名,那么它们怎么可能是头文件呢?另外,我们可以使用吗?这也让我想到了 和 之间的区别。哪个是头文件?哪一个是图书馆?如果我们只包含头文件,那么我们为什么不写呢?#include <iostream>
#include<vector>
#include
iostream
vector
.h
#include
iostream.h
iostream
#include<vector.h>
标准 cpp 库包含哪些内容?较小的库,如容器库、实用程序库?
我尝试查看 cppreference 但无法理解
答:
iostream
其他是头文件。
通常标头有 or 扩展,但这只是一个约定。C++ 标准库使用不同的约定,即没有扩展。.h
.hpp
什么算作图书馆是没有意义的。“库”可以指:
- 单个 、 、 或文件(或其他内容,具体取决于您的平台)。
.a
.so
.lib
.dll
- 供程序员使用的预定义实体的集合。
单个标准标头绝对不是 (1)。整个标准库是 (2),通常分为几 (1) 个。
每个单独的标准标头是否算作 (2) 是没有意义的,我不会这样称呼它们。
C++ 标准将标准库拆分为多个头组,并将每个标头组称为“库”(2)。Cppreference 也做同样的事情。
评论
.a
.lib
#include <iostream>
这样说吧:iostream 和其他 #include 项实际上是包含内置函数库和其他C++语言内容的头文件。专门帮助您使用 CIN、COUT 等通过终端进行输入和输出。另外,这里有一个提示:如果你想避免繁琐地需要添加每个头文件,以便你可以使用各种函数和其他项目,只需 #include < bits/stdc++.h>,它实际上只是一个包含所有其他头文件及其库的头文件;它应该让你的生活更轻松。
评论
<iostream>
是在所有 C++ 标准中指定的标头(具有一些变体)。它提供了类型的声明(例如 和 ) 和 objects(例如 )。从 C++11 开始,它是与 I/O 相关的其他标准标头(例如 )。像所有标准标头一样,它是 C++ 标准库的一个组件(具体来说 - 它的目的是为代码提供一个定义的接口来使用库的各个部分)。 从未成为标准C++的一部分,而是第一个C++标准(1989年批准)之前的前身。std::istream
std::ostream
std::cout
#include
<ios>
<iostream.h>
<iostream>
#include
.h
.hpp
#include
始终引用源文件”。标准标头不一定是实际文件,编译器可以使用另一种方法,如内存 AST 或数据库,或者这些方法的“内部函数”。<vector>