正如书中所述(探索C++:程序员对C++的介绍):
istream报头声明输入运算符(>>),ostream声明输出运算符(<<)。
我可以在不添加#include <ostream>的情况下完美地运行代码
#include <iostream>
using namespace std;
int main()
{
cout << "hello world"<< endl;
return 0;
}但是,在书中的例子是:
#include <iostream>
#include <ostream> //why?
using namespace std;
int main()
{
cout << "hello world"<< endl;
return 0;
}所以,iostream、ostream和istream都是头文件,对吗?
如果没有必要使用ostream (iostream做工作),为什么作者在示例中包含?或者为什么ostream头文件仍然存在
Note:在Bruce的第一卷(2000年出版)中,没有关于ostream或istream的任何东西。只有一个头文件,即iostream。
发布于 2012-02-13 19:55:42
您需要#include <iostream>来访问标准流对象,如cout。该代码的作者确保不依赖于<iostream>包含<ostream>的实现细节(这在C++11之前没有保证)。
您需要<ostream>来访问operator <<和std::endl。
https://stackoverflow.com/questions/9266990
复制相似问题