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的完整类定义.只有明确包含这些头文件才能保证这些类的定义,而不仅仅是前向声明,是可见的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |