"#include <iostream>"有什么作用?

Wil*_*iam 20 c++

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

#include <iostream>
using namespace std;
Run Code Online (Sandbox Code Playgroud)

我想问一下iostream的重点是什么.是否每次都需要作为标题?

amd*_*mdn 28

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

int main( int argc, char * argv[] )
{
    std::cout << "Hello World!" << std::endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

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

第二行不是必需的

using namespace std;
Run Code Online (Sandbox Code Playgroud)

什么,做的就是告诉编译器,在定义符号的名字std命名空间是被带入你的程序的范围,因此可以省略命名空间限定,并写例如

#include <iostream>
using namespace std;
int main( int argc, char * argv[] )
{
    cout << "Hello World!" << endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

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

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

#include <iostream>
using std::cout;
using std::endl;

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

但这是个人偏好的问题.


Ell*_*sch 9

这是用于输入输出流C++标准库头文件.它包括从流中读取和写入的功能.如果您希望使用流,则只需要包含它.


Ram*_*zan 8

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

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

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

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

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

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