接着上一章的那个程序我们说起
#include <iostream>
using namespace std;
int main()
{
cout << "hello world" << endl;
return 0;
}
这个程序还有这两种形式
#include <iostream>
using namespace std;
int main()
{
cout << "hello world\n";
return 0;
}
#include <iostream>
int main()
{
std::cout << "hello world" << std::endl;
return 0;
}
1. 我们一行一行的来看,第一个#号,是预处理器标记。就是每次启动编译器时,先运行预处理器,预处理器浏览代码,先处理以#号开头的代码。include是c++中的一条预处理命令,作用就是找出跟在后面的文件(这里也就是iostream),然后读取文件,并把文件放到此处。< >这两个符号告诉预处理器在默认的地方查找括号里面的文件。
2. iostream是已经写好的一个文件,程序中cout关键字就是它里面定义的。
3. 程序开始是从main来执行的,这是程序的入口。可能有学过c的同学喜欢写成void main,没有最后的return 0,在c++里这是不对的,c++的标准就是int main的这种方式。
4. cout是标准库的一个对象,标准库是一组类。
5. 第一种和第二种程序的区别大家都能看出,一个是用\n来换行,一个是用endl。第一种和第三种区别就是一个多了一句话,一个多了前缀。那是因为在c++中可能会有不同厂家的同名对象,比如你输入cout,如果不标明,程序就不知道这是要用哪一个cout,不同cout有不同用法,所以要标明我们用的这个是std名称空间(标准名称空间)的cout。这里有两种方式,一个是在每次使用cout前面加上std::,另一个就是在一开始就申明用的是std,using namespace std;。endl是同样道理。如果你只用这两个也可以把using nemaspace std;换成两句using std::cout; using std::endl;
下章见(以上全是个人观点,如果不当,敬请提出)