首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"#include <iostream>“做什么?

"#include <iostream>“做什么?
EN

Stack Overflow用户
提问于 2014-03-26 04:04:51
回答 3查看 170.6K关注 0票数 35

当我开始学习基本的C++时,我总是使用标题

代码语言:javascript
复制
#include <iostream>
using namespace std;

我想问一下iostream的意义是什么。是否每次都需要作为标题?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-03-26 04:18:10

为了读取或写入标准输入/输出流,您需要包含它。

代码语言:javascript
复制
int main( int argc, char * argv[] )
{
    std::cout << "Hello World!" << std::endl;
    return 0;
}

除非添加#include <iostream>,否则该程序将无法编译

第二行不是必需的

代码语言:javascript
复制
using namespace std;

这样做的目的是告诉编译器,在std名称空间中定义的符号名称将进入程序的作用域,因此您可以省略名称空间限定符,例如编写

代码语言:javascript
复制
#include <iostream>
using namespace std;
int main( int argc, char * argv[] )
{
    cout << "Hello World!" << endl;
    return 0;
}

请注意,您不再需要使用完全限定名称std::cout来引用输出流,可以使用较短的名称cout

我个人不喜欢在头文件的名称空间中引入所有符号……我将逐个选择我想要更短的符号...所以我会这样做:

代码语言:javascript
复制
#include <iostream>
using std::cout;
using std::endl;

int main( int argc, char * argv[] )
{
    cout << "Hello World!" << endl;
    return 0;
}

但这是个人喜好的问题。

票数 42
EN

Stack Overflow用户

发布于 2014-03-26 04:07:00

这是input output streamsC++ standard library头文件。它包括从流中读取和写入的功能。如果你想使用streams,你只需要包含它。

票数 14
EN

Stack Overflow用户

发布于 2020-02-22 02:13:54

#指示以下行是预处理器指令,应该在编译器编译之前由预处理器处理。

因此,#include是一个预处理器指令,它告诉预处理器在程序中包含头文件。

< >指示要包含的文件名的开始和结束。

iostream是包含用于输入/输出操作(cincout)的函数的头文件。

现在总结一下C++到命令的英语翻译,#include <iostream>是:

亲爱的预处理器,请在编译器开始实际编译代码之前,将头文件iostream的所有内容包含在此程序的最开始。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22645097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档