为什么不包括 iostream 头文件

why does iostream header file not get included?

本文关键字:文件 iostream 不包括 为什么      更新时间:2023-10-16
#include <sstream>
using namespace std;
int main()
{
    cout << "hi"; // error: undeclared cout
}

从我所读到的内容来看,sstream 类是从 iostream 类派生出来的,但为什么它没有自动包含?

基于 iostream 的类与 iostream 标头不同。标准标头不必相互包含,也可以按任何顺序相互包含。如果要使用 <iostream> 的内容,则必须#include <iostream>

std::sstream

生自std::istreamstd::ostream。这意味着您不需要包含 <istream><ostream> .但是,std::cout在这两个标头中都没有定义。这就是为什么你需要另一个标题,<iostream> .