加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 为什么我要单独包含iostream和ostream?

发布时间:2020-12-16 03:40:04 所属栏目:百科 来源:网络整理
导读:参见英文答案 iostream vs ostream what is different?5个 我注意到许多人分别在C程序中包含iostream和ostream,如下所示: #include iostream#include ostreamint main(){} 为什么有人这样做?由于iostream继承自ostream,它应该包含其中的所有内容,对吧?有
参见英文答案 > iostream vs ostream what is different?5个
我注意到许多人分别在C程序中包含iostream和ostream,如下所示:
#include <iostream>
#include <ostream>
int main()
{
}

为什么有人这样做?由于iostream继承自ostream,它应该包含其中的所有内容,对吧?有一些不明原因吗?简单(std :: cout)代码怎么样?

解决方法

尽管stringstream继承自iostream,但它并未在< iostream>中声明.头. < iostream> header包含iostream类型的定义以及着名的cout,cerr,cin和clog类型,但不包含其他类型的iostream(例如,文件流).对于这些,您需要显式#include必需的头文件.

编辑:在回答您修改后的问题时,我提出了C规范,有趣的是它没有说< iostream>必须包括< ostream>或者< istream>.实际上,只需包含< iosfwd>就可以逃脱.因此,可以#include< iostream>没有实际获得istream或ostream的完整类定义.只有明确包含这些头文件才能保证这些类的定义,而不仅仅是前向声明,是可见的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读