当我开始学习基本的C ++时,我总是使用标题
#include <iostream>
using namespace std;
我想问一下iostream的重点是什么。是否每次都需要作为标题?
答案 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 library的input output streams标头文件。它包括从流中读取和写入的功能。如果您希望使用流,则只需要包含它。
答案 2 :(得分:4)
#
指示以下行是预处理程序指令,应在由编译器进行编译之前由预处理程序处理。
因此,#include
是一个预处理程序指令,它告诉预处理程序在程序中包含头文件。
< >
表示要包含的文件名的开头和结尾。
iostream
是一个头文件,其中包含用于输入/输出操作的功能(cin
和cout
)。
现在将其总结为C ++到命令的英语翻译,#include <iostream>
为:
亲爱的预处理程序,请在编译器开始实际编译代码之前,在程序的开始处包含头文件iostream
的所有内容。