【发布时间】:2011-04-19 18:20:54
【问题描述】:
如果有文件 foo.cpp,那么它通常有一个关联的头文件 foo.h,其中包含 foo.cpp 中定义的函数的所有声明。这样,使用 foo.cpp 中函数的所有其他文件都可以只包含 foo.h 文件并使用它们。以上就是我对头文件的简单理解。
但是,我没有看到 iostream 头文件和 iostream 类之间存在这种关系。 iostream 头文件只声明了一些外部变量,但它们似乎都与 iostream 类没有直接关系。 iostream 类似乎也没有声明任何新函数。为什么我们有 iostream 类和 iostream 头文件?如果我听起来很困惑,请道歉,但这些东西真的让我很困惑。
【问题讨论】:
-
它们是公认的错误选择的名字,主要是由于历史。
iostream甚至不是一个类,而是一个类模板的 typedef。在新的 C++11 标准中,您至少可以通过包含. 来保证访问iostream