C++ 为什么不包括iostream头文件? #包括 使用名称空间std; int main() { cout

C++ 为什么不包括iostream头文件? #包括 使用名称空间std; int main() { cout,c++,io,C++,Io,基于iostream的类与iostream头不同。标准头不必相互包含,也可以按任何顺序相互包含。如果您希望使用的内容,则必须\includestd::sstream是从std::istream>和派生而来的和std::ostream。这意味着您不需要包含或。但是,std::cout在这两个头中都没有定义。这就是为什么您需要另一个头,您是否查看了sstream头文件以查看包含和不包含的内容?它不是从t派生的虽然标准输出。std::cout也是从iostream派生的,但它不仅仅限于此。但是当我派生

基于
iostream
的类与
iostream
头不同。标准头不必相互包含,也可以按任何顺序相互包含。如果您希望使用
的内容,则必须
\include
std::sstream
是从
std::istream>和
派生而来的
std::ostream
。这意味着您不需要包含
。但是,
std::cout
在这两个头中都没有定义。这就是为什么您需要另一个头,

您是否查看了sstream头文件以查看包含和不包含的内容?它不是从t派生的虽然标准输出。std::cout也是从iostream派生的,但它不仅仅限于此。但是当我派生类时,我不必包含基类头。我不知道为什么不包含它。对不起,我不理解你所说的基于iostream的类。@user756327:基于
std::ostream
之类的类。
#include <sstream>
using namespace std;

int main()
{
    cout << "hi"; // error: undeclared cout
}