我们几乎所有的 C++ 程序开头都是这样的:

#include <iostearm>
using namespace std;

int main()
{
  //这里写你的代码
  //...
  //...
  
	return 0;
}

那么这里的各行代码都有什么含义呢?

今天,我们来一行一行地分析。


第一行:

#include <iostearm>

首先,上面这行代码的意思是:包含了一个标准库文件。

我们知道:

  • 我们的原代码要通过编译连接,然后才产生可执行文件

理解C++代码结构:深入了解程序框架_#include

iostearm就在上面标绿的库代码中,它在连接阶段被连接到了我们的 .exe可执行文件中。而我们可以使用下面的 cout 和 cin 函数,就是因为我们连接了这个标准库。

int a = 0;

cout << "somthing" << endl;//打印 something 到屏幕上
cin >> int;//录入一个整形,并将其赋值给
  • 所有的函数都必须有至少一个输出,而我们的 main 函数也是一个函数,它也必须有输出,所有这行代码几乎是每一个 C++ 程序必写的。

第二行

using namespce std;

这条代码叫 using编译指令 ,这行代码解释起来比较复杂,考虑到我们现在才刚开始学习 C++ ,所以我们只简要的介绍2点,它的涵义和作用,而不深究它的原理。

1.它的涵义

首先,我们知道,中间的 namespace 的意思是名称空间,为什么叫空间名称呢?

--因为 C++ 中有很多的库,而在不同的库中,可能有同一个名字的函数。比如,班上的第1排和第2排都有一个张三,那我们在班上点名的时候,是不是很容易让同学混淆,不知道我们到底叫的哪个张三。

所以我们就给2个张三添加了 namespace空间名称,添加后,我们叫第1排的张三为1排张三,第2排的张三为2排张三,现在,我们点名的时候再也不会让同学们感到混淆了。

而我们的 using namespace std 就表示我们使用了空间名称std,它就类似我们刚刚举例的1排2排

2.它的作用

它可以帮助我们减少代码量。

我们编写代码时,会大量使用到C++编译器的标准组件,而这些标准组件其实都放在名称空间std中,而当我们有了这行代码,我们就可以省略到它们前面的名称空间,而直接使用它们。就好比我们开头的时候告诉大家,我们今天只点第一排同学的名字。在这个时候,我们就可以直接喊张三,而非1排张三。

举个例子,如果我们去掉这行代码,那么我们的程序就会是这个样子:

#include <iostream>
//using namespace std;

int main()
{
	int a = 0;

  //如果我们不使用"using namespace std:",
  //那么我们使用名称空间std中的标准组件时,前面必须添加上它们的名称空间
  //并且+2个英文的冒号
	std::cout << "test" << std:: endl;
	std:: cin >> a;
	std::cout << a << std::endl;

	return 0;
}
运行结果

理解C++代码结构:深入了解程序框架_#include_02

后面的mian函数我们在C语言中已经学习过,我们就在这不过多赘述。

总结

  • #include <iostream> 调用了用于输入输出的标准库
  • using namespace std; 让我们使用名称空间std中的标准组件时,免于写 std:: 的繁琐工作

今天的分享就到这,希望大家有所收获。