什么&#34; #include <iostream>&#34;办?</的iostream>

时间:2014-03-25 20:04:51

标签: c++

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

#include <iostream>
using namespace std;

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

3 个答案:

答案 0 :(得分:22)

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

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

除非您添加#include <iostream>

,否则该程序将无法编译

第二行是不必要的

using namespace std;

这样做是告诉编译器std命名空间中定义的符号名称是否会被带入程序的范围,因此您可以省略命名空间限定符,并编写例如

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

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

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

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

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

但这是个人偏好的问题。

答案 1 :(得分:7)

这是C++ standard libraryinput output streams标头文件。它包括从流中读取和写入的功能。如果您希望使用流,则只需要包含它。

答案 2 :(得分:4)

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

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

< >表示要包含的文件名的开头和结尾。

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

现在将其总结为C ++到命令的英语翻译,#include <iostream>为:

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